二分查詢 (折半查詢),它是一種效率較高的查詢方法。但是,折半查詢要求線性表必須採用順序儲存結構,而且表中元素按關鍵字有序排列。
要使用二分查詢有兩個條件
1.必須是經過排序的資料集合
2.只適用於順序儲存的資料集合
話不多說,舉個例子
設資料集合
dkey=94(既要尋找的值)01
2345
67513
1742
4655
7094
設low=0,high=7,要比較元素的下標為mid。
每次尋找都要從陣列(即low和high)最中間的元素開始比較,也就是mid=(low+high)/2,若key>d[mid],即mid左邊的元素都小於key,然後low=mid+1,同理,當keyhigh時,跳出迴圈。
**表示:
(這裡我定義了個函式來實現)
int low=
0,high=陣列長度-1;
inthalfsearch
(int d,
int low,
int high,
int key)
else
if(a[mid]
else
}return-1
;//無法找到
}
最近才開始寫部落格,有點菜,請大佬多多指教 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 除了對特別小的陣列外,二分法查詢表現是非常優秀的.每次對範圍加倍可以建...