您现在的位置是:网站首页>文章内容文章内容
PHP实现二分查找法
李鹏2022-08-21【PHP】1073人已围观
二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。PHP实现二分查找法代码如下:
<?php
function burstSearch($array, $find_value, $start, $end){
$middle_key = intval(($start + $end) / 2); #获取中位数位置(取整)
if ($start > $end) {
return -1; #查找值不存在
}
if ($find_value > $array[$middle_key]) { #查找的值大于中位数 在数组右边查找
return burstSearch($array,$find_value,$middle_key +1,$end);
}elseif ($find_value < $array[$middle_key]) { #查找的值小于中位数 在数组左边查找
return burstSearch($array,$find_value,$start,$middle_key -1);
}else{ #查找值等于中位数时,直接返回中位数位置
return $middle_key;
}
}
$arr = [1,5,6,9,15,26,85,96,105,237,514,799,811];
echo burstSearch($arr,85,0,count($arr)-1); # 运行结果:6
```php
0