二分查詢也稱折半查詢(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 查詢失...