您好,欢迎访问一九零五行业门户网

php中实现二分法查找的程序代码

二分法查找在高级点的开发可能会用到了,当然在大公司找工作时都会有面试题是这种了,下面我们来看一篇关于二分法查找在php中实现方法,具体的细节如下所示。
二分法(dichotomie) 即一分为二的方法. 设[a,b]为r的闭区间. 逐次二分法就是造出如下的区间序列([an,bn]):a0=a,b0=b,且对任一自然数n,[an+1,bn+1]或者等于[an,cn],或者等于[cn,bn],其中cn表示[an,bn]的中点.
例子1
header('content-type: text/html; charset=utf-8;');
$arr = array(2,33,22,1,323,321,28,36,90,123);
sort($arr);
//二分法查找
echo $index = binarysearch($arr,321);
function binarysearch($arr,$key){
 $len = count($arr);
 $mid = -1;
 $start = 0;
 $end   = $len-1;
 while($start  $mid = (int)(($start+$end)/2);
  echo $mid.\n;
  if($arr[$mid] == $key){
   return $mid;
  }else if($arr[$mid]    $start = $mid+1;
  }else if($arr[$mid] > $key){
   $end = $mid-1; 
  }
 }
}
例子2
其它类似信息

推荐信息