搜尋演算法 |
|
axsoft
版主 發表:681 回覆:1056 積分:969 註冊:2002-03-13 發送簡訊給我 |
private Sub Form_Activate() Dim A(n) As Integer Dim location As Integer Const x = k Do While location <= n and A[location] <> x Location = loaction 1 Loop If location > n then Location = 0 End End Sub解說:2,5,11,34,22,7 第一次:找到2 第二次:找到5 第三次:找到11 第四次:找到34 第五次:找到22 top 二分搜尋法(binary search) 例:有一陣列A存放已排序資料為〔2,5,7,11,22,34〕,試問22存在於這個A陣列的第幾個位置。 說明: (1)假設x是我們要找的;將陣列分為兩部分,找出此陣列的中間點y,如果x大於y,則選擇中間點右邊的陣列,反之,則選擇左邊的陣列。 (2)反覆做(1)的動作,直到找到x,或是只剩一個數時,如果最後一個數不等於x,則x不在此數列中。 (3)二分搜尋法較適用於已排序好的情況。 輸入:n個已排序資料的陣列A 欲找尋的數k 輸出:22在陣列A中的位置location 演算法: 圖解: 網路志工聯盟----Visita網站http://www.vista.org.tw ---[ 發問前請先找找舊文章 ]--- 發表人 - axsoft 於 2002/08/23 13:30:51 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |