二分查找法示例-PHP实现

  二分查找法(binary search)也称为折半查找法,用来查找一组有序的记录数组中的某一记录,其基本思想是:将记录按有序化(递增或递减)排列,在查找过程中如果要找的元素值小于该中点元素,则将待查序列缩小为左半部分,否则为右半部分。通过一次比较,将查找区间缩小一半。

php实现二分查找算法:

 1 <?php
 2 $arr = array(10,15,18,21,23,24,28);
 3 function binarySearch($arr,$value){
 4     $low=0;
 5     $high = sizeof($arr)-1;
 6     while($low<=$high){
 7         $mid = ceil(($low+$high)/2);
 8         if($arr[$mid]>$value){
 9             $high = $mid;
10         }elseif($arr[$mid]<$value){
11             $low = $mid;
12         }else{
13             return $mid;
14         }
15     }
16     return -1;
17 }
18 
19 echo binarySearch($arr,24);
20 ?>

猜你喜欢

转载自www.cnblogs.com/T8881/p/9432771.html