JavaScript實現二分法查詢

2021-08-28 08:20:02 字數 699 閱讀 2466

二分法查詢要求線性表必須採用順序儲存結構,而且表中元素按關鍵字有序排列。 有兩種方法實現:

一:遞迴法

var arr = [1, 5, 7, 10, 18, 45, 50, 55, 75, 400];

function binary_search(find, arr, low, high)

if (arr[high] == find)

var mid = math.ceil((low + high) / 2);

if (arr[mid] == find) else if (arr[mid] > find) else

}return -1;

}console.log(binary_search(55, arr, 0, arr.length - 1));//7

二:非遞迴法

function binary_search(arr, find)  else if (find > arr[mid])  else if (find < arr[mid])  else }}

var arr = [1, 5, 7, 10, 18, 45, 50, 55, 75, 400];

console.log(binary_search(arr, 50));//6

兩種方法實現二分法查詢,在資料量大的時候推薦非遞迴法,普通資料用遞迴法.

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 ...

二分法python實現

聚會遊戲,乙個人想乙個數,其他人來猜,然後告訴你猜大了還是小了,直到猜到這個數。二分法和猜數遊戲類似,只不過猜的時候一定猜最中間的那個數,折半查詢所需內容,就陣列來說,陣列越長,梯度下降越快,二分查詢優勢越明顯。python 如下 1 defbinary search list,item 2 low...