php数据结构与算法(PHP描述) 查找与二分法查找


Posted in PHP onJune 21, 2012
<?php 
/** 
* 查找 
* 
**/ 
// 顺序查找 
function normal_search($arrData,$val) { 
$len = count($arrData); 
if($len == 0) return -1; 
for($i = 0;$i < $len; $i++ ) { 
echo "find No.",$i + 1," value = ",$arrData[$i]," is = ",$val,"? <br/>"; 
// 找到了 
if($arrData[$i] == $val) return $i; 
} 
return -1; 
} // 测试顺序查找 
$arrData = array(4,51,6,73,2,5,9,33,50,3,4,6,1,4,67); 
echo normal_search($arrData,6),"<br/>"; 
echo normal_search($arrData,66),"<br/>"; 
// 二分法查找(针对有序的列进行查找) 
function binary_search($arrData,$val) { 
$len = count($arrData); 
if($len == 0) return -1; 
$start = 0; 
$end = $len - 1; 
while($start <= $end) { 
$middle = intval(($start + $end)/2); 
echo "start = ",$start," end = ",$end," middle = ",$middle,"<br/>"; 
if($arrData[$middle] == $val) { 
return $middle; 
} elseif ($arrData[$middle] > $val) { 
$end = $middle - 1 ; 
} elseif ($arrData[$middle] < $val) { 
$start = $middle + 1; 
} 
} 
return -1; 
} 
// 测试一下二分法查找 
$arrData = array(1,2,3,4,5,7,8,9,11,23,56,100,104,578,1000); 
echo binary_search($arrData,578),"<br/>"; 
echo binary_search($arrData,66),"<br/>";
PHP 相关文章推荐
php 论坛采集程序 模拟登陆,抓取页面 实现代码
Jul 09 PHP
php 文章调用类代码
Aug 11 PHP
如何在symfony中导出为CSV文件中的数据
Oct 06 PHP
php单例模式实现(对象只被创建一次)
Dec 05 PHP
php获取服务器信息的实现代码
Feb 04 PHP
PHP APC的安装与使用详解
Jun 13 PHP
php实现的太平洋时间和北京时间互转的自定义函数分享
Aug 19 PHP
php提交post数组参数实例分析
Dec 17 PHP
CodeIgniter辅助之第三方类库third_party用法分析
Jan 20 PHP
PHP读取zip文件的方法示例
Nov 17 PHP
使用composer命令加载vendor中的第三方类库 的方法
Jul 09 PHP
laravel5.6框架操作数据curd写法(查询构建器)实例分析
Jan 26 PHP
通过PHP的内置函数,通过DES算法对数据加密和解密
Jun 21 #PHP
php数据结构与算法(PHP描述) 快速排序 quick sort
Jun 21 #PHP
SESSION信息保存在哪个文件目录下以及能够用来保存什么类型的数据
Jun 17 #PHP
PHP Warning: PHP Startup: Unable to load dynamic library \ D:/php5/ext/php_mysqli.dll\
Jun 17 #PHP
php后退一页表单内容保存实现方法
Jun 17 #PHP
php中使用接口实现工厂设计模式的代码
Jun 17 #PHP
php中jQuery插件autocomplate的简单使用笔记
Jun 14 #PHP
You might like
FirePHP 推荐一款PHP调试工具
2011/04/23 PHP
php下利用curl判断远程文件是否存在的实现代码
2011/10/08 PHP
解析coreseek for sphinx的使用
2013/06/21 PHP
PHP URL路由类实例
2013/11/12 PHP
浅谈json_encode用法
2015/03/05 PHP
php使用socket post数据到其它web服务器的方法
2015/06/02 PHP
php通过curl添加cookie伪造登陆抓取数据的方法
2016/04/02 PHP
Ctrl+Enter提交内容信息
2006/06/26 Javascript
JavaScript通过元素索引号删除数组中对应元素的方法
2015/03/18 Javascript
如何在vue中使用ts的示例代码
2018/02/28 Javascript
layui表格内放置图片,并点击放大的实例
2019/09/10 Javascript
layui框架与SSM前后台交互的方法
2019/09/12 Javascript
javascript刷新父页面方法汇总详解
2019/10/10 Javascript
JS出现404错误原理及解决方案
2020/07/01 Javascript
[01:04:22]2018DOTA2亚洲邀请赛 3.31 小组赛 B组 IG vs EG
2018/04/01 DOTA
python中pass语句用法实例分析
2015/04/30 Python
基于Python实现通过微信搜索功能查看谁把你删除了
2016/01/27 Python
开源软件包和环境管理系统Anaconda的安装使用
2017/09/04 Python
python中装饰器级连的使用方法示例
2017/09/29 Python
详解python之heapq模块及排序操作
2019/04/04 Python
PyQt5实现仿QQ贴边隐藏功能的实例代码
2020/05/24 Python
Python如何实现机器人聊天
2020/09/10 Python
html5使用canvas绘制文字特效
2014/12/15 HTML / CSS
美国名牌手表折扣网站:Jomashop
2020/05/22 全球购物
办公室主任先进事迹
2014/01/18 职场文书
四年级科学教学反思
2014/02/10 职场文书
12岁生日演讲稿
2014/05/14 职场文书
工商管理专业毕业生求职信
2014/05/26 职场文书
董事长秘书工作职责
2014/06/10 职场文书
2014年医院后勤工作总结
2014/12/06 职场文书
升学宴学生答谢词
2015/01/05 职场文书
2015年教师业务工作总结
2015/05/26 职场文书
关于做家务的心得体会
2016/01/23 职场文书
纪检干部学习心得体会
2016/01/23 职场文书
javascript数组includes、reduce的基本使用
2021/07/02 Javascript
Vite + React从零开始搭建一个开源组件库
2022/06/25 Javascript