php 二分查詢法演算法具體解釋

2022-09-01 09:12:18 字數 687 閱讀 5215

一、概念:二分查詢又稱折半查詢,長處是比較次數少,查詢速度快。平均效能好。其缺點是要求待查表為有序表,且插入刪除困難。

因此。折半查詢方法適用於不常常變動而查詢頻繁的有序列表。

首先,假設表中元素是按公升序排列,將表中間位置記錄的keyword與查詢keyword比較。假設兩者相等,則查詢成功。否則利用中間位置記錄將表分成前、後兩個子表,假設中間位置記錄的keyword大於查詢keyword,則進一步查詢前一子表。否則進一步查詢後一子表。反覆以上過程,直到找到滿足條件的記錄,使查詢成功,或直到子表不存在為止。此時查詢不成功。

二、**:對於無序陣列用下面方法就可以。

header("content-type:text/html;charset='utf-8'");

function twosearchmethod($arr,$val,$left,$right)

$middle=round(($left+$right)/2);

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

$arr=array(1,9,3,4,5,6,7);

sort($arr);

print_r($arr);

echo "

";$val=1;

twosearchmethod($arr, $val, 0, 6);

PHP演算法 折半查詢法 又稱二分查詢法

二分查詢又稱折半查詢 它是一種效率較高的查詢方法。二分查詢要求 1.必須採用順序儲存結構 2.必須按關鍵字大小有序排列。優缺點 折半查詢法的優點是比較次數少,查詢速度快,平均效能好 其缺點是要求待查表為有序表,且插入刪除困難。因此,折半查詢方法適用於不經常變動而 查詢頻繁的有序列表。演算法思想 首先...

演算法 二分查詢法

例題 設計乙個函式,接收乙個有序陣列和乙個元素,如果指定的元素包含在陣列中,則返回其位置。看見這道題,我們正常的想法為遍歷陣列的所有元素然後乙個乙個的與數值相比較,如果相等,返回索引,如果在迴圈執行完後沒有退出函式的話,就返回false。為 var count 0 計數 function looku...

查詢演算法 二分查詢法

二分查詢法是經典的入門演算法,以高效和廣泛應用而著稱.演算法是由靜態方法rank 實現的,它接受乙個整數鍵和乙個已經有序的int 陣列作為引數。如果該鍵存在於陣列中 則返回它的索引,否則返回 1。演算法使用兩個變數low 和high,並保證如果鍵在陣列中則它一定在 a low high 中,然後方法...