PHP中二分查找算法的实例分析
可以使用高级点二分法搜索的开发。当然,大公司在找工作时会有面试问题。现在我们来看看PHP中二分法搜索的方法,具体内容如下。
两分法(二分法)是一分为二。集合{一},B,R闭区间连续二分法是创建以下区间序列({一},BN):A0 =,B0 = B,和任何自然数n,{ 1,1 }或BN +等于{一},CN,等于以{ CN、BN },{说CN。BN的中心。
例1:
头('content-type:文本/ HTML;字符集= UTF-8;');
$ ARR =阵列(2,33,221323321,28,3690123);
排序($ ARR);
二进制搜索
echo $指数=二($ ARR,321);
功能二(ARR美元,美元关键){
$ len =计数($ ARR);
$ = 1;
$起始=0;
最终len-1美元美元;
当($开始= $结束){
$ =(int)(($开始+ $结束) / 2);
echo $中;
如果($ ARR { $中} = = $键){
返回$中;
} else if($ ARR { $中} <美元关键){
$开始= $ + 1;
} else if($ ARR { $中} > $键){
美元=中叶1美元;
}
}
}
例2:
< PHP
数组是一个数组,$是查找的值,$ $是搜索范围的最小键值,$高是搜索范围的最大键值。
函数搜索($数组,$ K,$ = 0,高= 0)
{
如果(= 0和高(数组))!= 0),以确定是否第一次调用
{
高=计数(数组);
}
如果(低$高)如果有剩余数组元素
{
中期美元= intval( / 2($美元低+高)); / /中间低、高值美元美元
如果返回的话,数组中的值是
{
返回$中;
}
($ K <数组$ { $中}) / /如果没有找到,那么继续搜索
{
返回搜索(数组$,$ K,低美元美元,中叶1);
}
其他的
{
返回搜索($数组,K,$中+ 1,高$);
}
}
返回- 1;
}
$array =阵列(4,5,7,8,9,10); / /搜索功能测试
回声搜索($数组,8);调用搜索函数和搜索结果的输出
>
关于PHP相关内容的更多读者感兴趣的读者可以看到特别站:PHP数据结构和算法教程
希望本文能对PHP程序设计有所帮助。