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

PHP实现折半查询算法

php实现折半查询算法,自己写代码,可能不规范。
什么是折半查询算法?具体文字描述自己百度。直接上代码:
$startindex){ $searchindex = ceil(($endindex - $startindex) / 2); }else if($endindex == $startindex){ $searchindex = $endindex; }else{ $index = -1; break; } $searchindex += ($startindex - 1); echo '检索范围:'.$startindex.' ~ '.$endindex.'
检索位置:'.$searchindex.'检索值为:'.$data[$searchindex]; echo '
=======================
'; if($data[$searchindex] == $x){ $index = $searchindex; break; }else if($x > $data[$searchindex]){ $startindex = $searchindex + 1; }else{ $endindex = $searchindex - 1; } $number++; }while($number $startindex){ $searchindex = ceil(($endindex - $startindex) / 2); }else if($endindex == $startindex){ $searchindex = $endindex; }else{ return -1; } $searchindex += ($startindex - 1); echo '检索范围:'.$startindex.' ~ '.$endindex.'
检索位置:'.$searchindex.'检索值为:'.$data[$searchindex]; echo '
=======================
'; if($data[$searchindex] == $x){ return $searchindex; }else if($x > $data[$searchindex]){ $startindex = $searchindex + 1; return ssort($data, $x, $startindex, $endindex); }else{ $endindex = $searchindex - 1; return ssort($data, $x, $startindex, $endindex); }}$data = array(1, 3, 4, 6, 9, 11, 12, 13, 15, 20, 21, 25, 33, 34, 35, 39, 41, 44);$index = qsort($data, 11); // 不用递归的排序方法$index = ssort($data, 11, 0, count($data) - 1); // 使用递归的排序方法echo '结果:'.$index;
以上就介绍了php实现折半查询算法,包括了方面的内容,希望对php教程有兴趣的朋友有所帮助。
其它类似信息

推荐信息