您现在的位置是:网站首页>文章内容文章内容

PHP实现二分查找法

李鹏2022-08-21PHP483人已围观

二分查找也称折半查找(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

文章评论

我的名片

姓名:李鹏

职业:PHP工程师

现居:广东-深圳

网址:https://www.lipeng93.cn