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中文本数据翻页(留言本翻页)
Oct 09 PHP
php+oracle 分页类
Oct 09 PHP
与文件上传有关的php配置参数总结
Jun 14 PHP
php通过字符串调用函数示例
Mar 02 PHP
CodeIgniter框架过滤HTML危险代码
Jun 12 PHP
php生成圆角图片的方法
Apr 07 PHP
微信支付开发交易通知实例
Jul 12 PHP
PHP入门教程之上传文件实例详解
Sep 11 PHP
ThinkPHP实现登录退出功能
Jun 29 PHP
thinkphp分页集成实例
Jul 24 PHP
thinkphp5.0整合phpsocketio完整攻略(绕坑)
Oct 12 PHP
Laravel等框架模型关联的可用性浅析
Dec 15 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
PHP概述.
2006/10/09 PHP
php在多维数组中根据键名快速查询其父键以及父键值的代码
2011/05/07 PHP
php shell超强免杀、减少体积工具实现代码
2012/10/16 PHP
如何用php获取程序执行的时间
2013/06/09 PHP
php 获取SWF动画截图示例代码
2014/02/10 PHP
php JWT在web端中的使用方法教程
2018/09/06 PHP
JS Timing
2007/04/21 Javascript
JQuery自定义事件的应用 JQuery最佳实践
2010/08/01 Javascript
快速查找数组中的某个元素并返回下标示例
2013/09/03 Javascript
js判断字符长度以及中英文数字等
2013/12/31 Javascript
jquery删除指定的html标签并保留标签内文本内容的方法
2014/04/02 Javascript
nodejs的10个性能优化技巧
2014/07/15 NodeJs
nodejs实现HTTPS发起POST请求
2015/04/23 NodeJs
基于js实现投票的实例代码
2015/08/04 Javascript
基于nodejs+express(4.x+)实现文件上传功能
2015/11/23 NodeJs
CascadeView级联组件实现思路详解(分离思想和单链表)
2016/04/12 Javascript
iframe中使用jquery进行查找的方法【案例分析】
2016/06/17 Javascript
Ionic2系列之使用DeepLinker实现指定页面URL
2016/11/21 Javascript
JavaScript中set与get方法用法示例
2018/08/15 Javascript
JavaScript中的各种宽高属性的实现
2020/05/08 Javascript
[01:32]完美世界DOTA2联赛10月29日精彩集锦
2020/10/30 DOTA
Python中endswith()函数的基本使用
2015/04/07 Python
Python的迭代器和生成器
2015/07/29 Python
利用Python自动监控网站并发送邮件告警的方法
2016/08/24 Python
Python编程实现粒子群算法(PSO)详解
2017/11/13 Python
使用python itchat包爬取微信好友头像形成矩形头像集的方法
2019/02/21 Python
基于python实现的百度新歌榜、热歌榜下载器(附代码)
2019/08/05 Python
Scrapy中如何向Spider传入参数的方法实现
2020/09/28 Python
windeln官方海外旗舰店:德淘超人气母婴超市
2017/12/15 全球购物
娱乐地球:Entertainment Earth
2020/01/08 全球购物
学生期末评语大全
2014/04/30 职场文书
施工单位安全责任书
2014/07/24 职场文书
中国现代文学之经典散文三篇
2019/09/18 职场文书
Python爬虫爬取全球疫情数据并存储到mysql数据库的步骤
2021/03/29 Python
python机器学习实现oneR算法(以鸢尾data为例)
2022/03/03 Python
基于Android10渲染Surface的创建过程
2022/08/14 Java/Android