二分法查詢

2021-09-27 03:18:07 字數 816 閱讀 7627

<?php

// 二分法查詢需要陣列是乙個遞增的陣列

// //二分法實現查詢的原理

////1,要知道中間位置就需要知道起始位置和結束為止,然後取出中間位置的值來和我們的值作對比。

//2如果中間值大於我們的給定值,說明我們的值在中間位置之前,此時需要再次二分,因為在中間之前,所以我們需要變得值是結束為止的值,此時結束為止的值應該是我們此時的中間位置。

//3反之,如果中間值小於我們給定的值,那麼說明給定值在中間位置之後,此時需要再次將後一部分的值進行二分,因為在中間值之後,所以我們需要改變的值是開始位置的值,此時開始位置的值應該是我們此時的中間位置,知道我們找到指定值。

//4或許這中間值等於最初的起始位置,或結束位置(此時說明給定值未找到)。

//while迴圈實現二分法查詢

$arr = array(2,4,6,7,8,10,11);

$low = 0;

$search = 2;

//計算出陣列的長度

$high = count($arr) -1;

while($low <= $high)

elseif($arr[$mid] > $search)

else

} $arr = array(2,4,6,8,9,77);

$low = 0;

$search = 2;

//計算出陣列的長度

$high = count($arr) -1;

while($low <=$high)elseif($arr[$mid] > $search)else

}

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