二分法查詢

2021-07-10 01:27:59 字數 724 閱讀 4207

二分法查詢---對有序元素集合的查詢,又叫折半查詢。

思路:(假設公升序)將查詢元素與集合中間元素比較,相等則返回;若查詢元素小於集合中間元素,則在集合左半部分進行二分查詢;

若查詢元素大於集合中間元素,則在集合右半部分進行二分查詢;(首先判斷要查詢的範圍正確性,如果查詢開始位置大於結束位置則返回未找到)

// sf.cpp : 定義控制台應用程式的入口點。

//#include "stdafx.h"

int binarysearch(int* pa, int n1, int n2, int d)

int nmid = (n1+n2)/2;

if (d == pa[nmid])

else if (d < pa[nmid])

else

}int _tmain(int argc, _tchar* argv)

; int npos = binarysearch(a, 0, 9, 77);

printf("%d\n", npos);

npos = binarysearch(a, 0, 9, 44);

printf("%d\n", npos);

npos = binarysearch(a, 0, 9, 93);

printf("%d\n", npos);

system("pause");

return 0;

}

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 除了對特別小的陣列外,二分法查詢表現是非常優秀的.每次對範圍加倍可以建...