掌握計算機概論複習講義教師用本

Page 55

156

第 4 章  程式語言簡介及實例應用

5 泡沫排序法(氣泡排序法):為相鄰兩個相比,若前項比後項大(或小)則對調。 設有 N 項資料存在 A 陣列中,則有「泡沫排序演算法」如下: : For I=1 To N-1 For J=1 To N-I

遞增

If A (J)>A (J+1) Then 對調 A (J), A (J+1);若 前項 > 後項 則對調 Next J Next I : 1 N-1次循環才比完。(外迴圈變數 I 控制) 2 注意遞增或遞減排序。(改變大於或小於的比較關係) 3 注意比至第幾循環之第幾項。 4 總比較次數為 (n-1)*n/2。 5 若加入旗標變數(flag)時,注意比較次數之增減。 6 循序搜尋法(Sequential): 1 要找的資料由陣列的第一筆(或最後一筆)資料開始,逐一比對。 2 n 項資料的平均搜尋次數為: (n+1)/2。 7 二分搜尋法: 1 做二分搜尋的先決條件,為資料已事先排序。 2 其搜尋的步驟為每次都和中間項比較:(設資料已由小到大排序) 1 若資料比中間項小,則在陣列左邊的範圍。 2 若資料等於中間項,則找到資料。 3 若資料比中間項大,則在陣列右邊的範圍。 3 若有 N 項資料要做「二分搜尋」時,其搜尋次數為取大於等於 log2N 的整數

老師實例講解 3 *(  C  )1 下面程式在標記 70 中之 Swap 函數總共呼叫幾次? 次 Private Sub Form_load( ) Dim X (5) X (1)=16:X (2)=8:X (3)=20:X (4)=3:X (5)=1 For I=1 To 4 For J=I+1 To 5 70:If X (I)>X (J)Then swap (X (I), X (J)) Next J Next I End Sub Sub Swap (x, y) Dim t As Variant t=x:x=y:y=t End Sub

A 6 次 B 7 次 C 8 次 D 9


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.