首页 >后端开发 >PHP问题 >php如何实现二分查找

php如何实现二分查找

coldplay.xixi
coldplay.xixi原创
2021-02-20 16:49:534479浏览

php实现二分查找的方法:首先以数组中某个值为界;然后再递归进行查找,直到结束,代码为【if ($low <= $high){$mid = intval(($low+$high)/2);if ($array[$mid] == $k)】。

php如何实现二分查找

本教程操作环境:windows7系统、PHP5.6版,DELL G3电脑,该方法适用于所有品牌电脑。

php实现二分查找的方法:

思路:以数组中某个值为界,再递归进行查找,直到结束。

代码一

<?php
function find($array, $low, $high, $k){
  if ($low <= $high){
  $mid = intval(($low+$high)/2);
    if ($array[$mid] == $k){
    return $mid;
  }elseif ($k < $array[$mid]){
    return find($array, $low, $mid-1, $k);
    }else{
    return find($array, $mid+1, $high, $k);
    }
  }
  die(&#39;Not have...&#39;);
}
//test
$array = array(2,4,3,5);
$n = count($array);
$r = find($array,0,$n,5)

1、想最后的临界情况:第13行,return false果然是写在这里,我没有想错

2、die的用法:第13行,die终结程序

相关视频推荐:PHP编程从入门到精通

以上是php如何实现二分查找的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn