php數(shù)據(jù)結(jié)構(gòu)與算法(PHP描述) 查找與二分法查找
更新時間:2012年06月21日 07:48:26 作者:
php數(shù)據(jù)結(jié)構(gòu)與算法(PHP描述) 查找與二分法查找,需要的朋友可以參考下
復制代碼 代碼如下:
<?php
/**
* 查找
*
**/
// 順序查找
function normal_search($arrData,$val) {
$len = count($arrData);
if($len == 0) return -1;
for($i = 0;$i < $len; $i++ ) {
echo "find No.",$i + 1," value = ",$arrData[$i]," is = ",$val,"? <br/>";
// 找到了
if($arrData[$i] == $val) return $i;
}
return -1;
}
// 測試順序查找
$arrData = array(4,51,6,73,2,5,9,33,50,3,4,6,1,4,67);
echo normal_search($arrData,6),"<br/>";
echo normal_search($arrData,66),"<br/>";
// 二分法查找(針對有序的列進行查找)
function binary_search($arrData,$val) {
$len = count($arrData);
if($len == 0) return -1;
$start = 0;
$end = $len - 1;
while($start <= $end) {
$middle = intval(($start + $end)/2);
echo "start = ",$start," end = ",$end," middle = ",$middle,"<br/>";
if($arrData[$middle] == $val) {
return $middle;
} elseif ($arrData[$middle] > $val) {
$end = $middle - 1 ;
} elseif ($arrData[$middle] < $val) {
$start = $middle + 1;
}
}
return -1;
}
// 測試一下二分法查找
$arrData = array(1,2,3,4,5,7,8,9,11,23,56,100,104,578,1000);
echo binary_search($arrData,578),"<br/>";
echo binary_search($arrData,66),"<br/>";
您可能感興趣的文章:
- 使用PHP實現(xiàn)二分查找算法代碼分享
- PHP 冒泡排序 二分查找 順序查找 二維數(shù)組排序算法函數(shù)的詳解
- php二分法在IP地址查詢中的應(yīng)用
- php二分查找二種實現(xiàn)示例
- 深入理解PHP幾個算法:PHP冒泡、PHP二分法、PHP求素數(shù)、PHP乘法表
- PHP字符串逆序排列實現(xiàn)方法小結(jié)【strrev函數(shù),二分法,循環(huán)法,遞歸法】
- php順序查找和二分查找示例
- php 數(shù)組二分法查找函數(shù)代碼
- php中二分法查找算法實例分析
- 數(shù)據(jù)結(jié)構(gòu)之利用PHP實現(xiàn)二分搜索樹
相關(guān)文章
php靜態(tài)編譯swoole-cli并調(diào)用rust的動態(tài)鏈接庫
這篇文章主要為大家介紹了靜態(tài)編譯swoole-cli并調(diào)用rust的動態(tài)鏈接庫實現(xiàn)步驟詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-07-07
PHP使用內(nèi)置dir類實現(xiàn)目錄遍歷刪除
這篇文章主要介紹了PHP使用內(nèi)置dir類實現(xiàn)目錄遍歷刪除的方法,涉及php中dir類的使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-03-03
PHP合并數(shù)組+號和array_merge的區(qū)別
這篇文章主要介紹了PHP合并數(shù)組+號和array_merge的區(qū)別,PHP的數(shù)組融合一般有兩種做法,一種是直接使用加號相加,另一種則是使用array_merge函數(shù)進行相加,兩者之間有點區(qū)別,需要的朋友可以參考下2015-06-06
PHP實現(xiàn)的數(shù)組和XML文件相互轉(zhuǎn)換功能示例
這篇文章主要介紹了PHP實現(xiàn)的數(shù)組和XML文件相互轉(zhuǎn)換功能,結(jié)合實例形式分析了php針對xml格式數(shù)據(jù)與數(shù)組相互轉(zhuǎn)換操作技巧,需要的朋友可以參考下2018-03-03

