脚本宝典收集整理的这篇文章主要介绍了php基础查找算法,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
1、顺序查找
1 function line_seArch($array,$tar) 2 { 3 if(!is_array($array) || count($array) < 1) return false; 4 for($i=0;$i<count($array);$i++){ 5 if($array[$i] == $tar){ 6 return $i; 7 } 8 } 9 return false; 10 } 11 12 line_search($arr,34);
2、二分法查找
1 // 非递归 2 function binary_search($array,$tar) 3 { 4 if(!is_array($array) || count($array) < 1) return false; 5 // 数组必须排序 6 sort($array); 7 $high = count($array) - 1; 8 $low = 0; 9 while($low <= $high){ 10 $middle = intval(($high + $low) / 2); 11 if($array[$middle] > $tar){ 12 $high = $middle - 1; 13 }elseif($array[$middle] < $tar){ 14 $low = $middle + 1; 15 }else{ 16 return $middle; 17 } 18 } 19 return false; 20 } 21 22 binary_search($arr,165.4);
1 // 递归 2 function binary_search($array,$tar,$high=0,$low=0) 3 { 4 if(!is_array($array) || count($array) < 1) return false; 5 sort($array); 6 if($low <= $high){ 7 $middle = intval(($high + $low) / 2); 8 if($array[$middle] > $tar){ 9 $high = $middle - 1; 10 echo $high."</br>"; 11 return binary_search($array,$high,$low); 12 }elseif($array[$middle] < $tar){ 13 $low = $middle + 1; 14 return binary_search($array,$low); 15 }else{ 16 return $middle; 17 } 18 } 19 return false; 20 } 21 22 binary_search($arr,125,count($arr),0);
以上是脚本宝典为你收集整理的php基础查找算法全部内容,希望文章能够帮你解决php基础查找算法所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。