PHP 二分查詢演算法

2021-10-01 21:07:59 字數 552 閱讀 2276

二分查詢也稱折半查詢(binary search),它是一種效率較高的查詢方法。但是,折半查詢要求線性表必須採用順序儲存結構,而且表中元素按關鍵字有序排列。

/**

* @param array $arr 待查詢區間

* @param int $number 查詢數

* @param int $lower 區間最低點

* @param int $high 區間最高點

* @return int

*/function binary_search_recursion(&$arr, $number, $lower, $high)

if ($number > $arr[$middle]) elseif ($number < $arr[$middle]) else

}$arr = [1,2,3,4,5,6,7,8,9];

$result = binary_search_recursion($arr, 5, 0, count($arr));

echo $result; // 輸出4

php二分查詢演算法

二分查詢也稱折半查詢 binary search 它是一種效率較高的查詢方法。但是,折半查詢要求線性表必須採用順序儲存結構,而且表中元素按關鍵字有序排列。資料一分為二,然後兩邊比較,保留有效區間,繼續一分為二查詢,直到找到或者超出區間則結束,所以二分查詢的基本步驟是 確定要查詢的區間 確定二分時的參...

php查詢演算法,PHP演算法之二分查詢

二分查詢的定義 二分查詢也稱折半查詢 binary search 它是一種效率較高的查詢方法。但是,折半查詢要求線性表必須採用順序儲存結構,而且表中元素按關鍵字有序排列。演算法的要求 從上面的定義我們可以知道,滿足該演算法的要求必須如下兩點 必須採用順序儲存結構。必須按關鍵字大小有序排列。演算法的步...

php二分查詢 順序查詢演算法

二分查詢的陣列必須是排好序的,順序查詢沒要求,php查詢陣列元素有內建的函式array search和in array 二分查詢法 function binsearch arr,search elseif arr mid search elseif arr mid search return 查詢失...