二分法查詢

2021-06-25 22:25:30 字數 446 閱讀 4362

演算法:當資料量很大適宜採用該方法。採用二分法查詢時,資料需是排好序的。主要思想是:(設查詢的陣列區間為data[start, end])(1)確定該期間的中間位置pos將查詢的值m與data[pos]比較。若相等,查詢成功返回此位置;否則確定新的查詢區域,繼續二分查詢。區域確定如下:data[pos]>m 由陣列的有序性可知data[pos,pos+1,……,end]>m;故新的區間為data[start,……,pos-1]data[pos] 例:

查詢乙個數在降序數列的位置。

程式:#include

#define num 10

void main()

;int m,start,end,pos,find=0;

printf("已有數列為:\n");

for(m=0;mdata[pos])

end=pos-1;

else if(dd 

C 二分法查詢,遞迴二分法

用二分法來求需要查詢的值.includeusing namespace std 查詢key元素是否存在 int findkey const int buf 100 const int ilen,const int key else right left mid 1 查詢失敗 return 1 查詢k...

python二分法查詢 Python 二分法查詢

二分法查詢主要的作用就是查詢元素 lst 1,3,5,7,12,36,68,79 資料集 百萬級資料 num int input 請輸入你要查詢的元素資訊 for el in lst if num el print 存在 break else print 不存在 len lst 0 1 2 3 4 ...

二分法查詢

前幾天csdn上說只有10 程式設計師能寫出正確的二分法查詢 so.我在看過二分法查詢方法後寫了乙個 一次測試成功.範圍 需要次數 10 4 100 7 1000 10 10000 14 100000 17 1000000 20 除了對特別小的陣列外,二分法查詢表現是非常優秀的.每次對範圍加倍可以建...