PHP 二分演算法

2021-09-26 04:34:46 字數 1133 閱讀 5575

<?php 

class

binary

elseif

($arr

[$mid

]<

$search

)elseif

($arr

[$mid

]>

$search)}

return

"查詢失敗";}

//順序查詢

public

function

seqsearch

($arr,$k

)}return

"查詢失敗";}

public

function

getcount()

}$binary

=new

binary

;

<?php 

require_once

'binary.php'

;$arr=[

1,2,

3,4,

5,6,

7,8,

9,10,

11,12]

;echo

$binary

->

binsearch

($arr,19

)."\n"

;echo

$binary

->

getcount()

;

先把原始碼貼出來,然後在解析它

其實在經過幾次debug你就可以發現,其實這邊最重要的乙個數值就是mid這個中間數

1.會先把中間數求出來

2.然後這個中間數會以索引值的形式存在

3.判斷第一次這個索引值跟需要搜尋的那個值是否相等

4.判斷陣列的這個中間數為索引的值是否比查詢的小,如果小的話那就說明,這個中位數的索引的值 左側都會小於這個搜尋的值

5.判斷陣列的這個中間數為索引的值如果比查詢的值大,那就說明這個中間數為索引的右側都會比查詢的這個值大

注意點:變數low跟height

PHP 二分查詢演算法

二分查詢也稱折半查詢 binary search 它是一種效率較高的查詢方法。但是,折半查詢要求線性表必須採用順序儲存結構,而且表中元素按關鍵字有序排列。param array arr 待查詢區間 param int number 查詢數 param int lower 區間最低點 param in...

php二分查詢演算法

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

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

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