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 相关文章推荐
xml+php动态载入与分页
Oct 09 PHP
PHP 已经成熟
Dec 04 PHP
发布一个用PHP fsockopen写的HTTP下载的类
Feb 22 PHP
php获取mysql版本的几种方法小结
Mar 25 PHP
thinkphp分页实现效果
Oct 13 PHP
利用php_imagick实现复古效果的方法
Oct 18 PHP
php通过PHPExcel导入Excel表格到MySQL数据库的简单实例
Oct 29 PHP
详解PHP处理字符串类似indexof的方法函数
Jun 11 PHP
SCP远程VPS快速搬家和WDCP升级php5.3安装memcached和eaccelerator教程
Jul 27 PHP
php伪静态验证码不显示的解决方案
Sep 26 PHP
详解php反序列化
Jun 10 PHP
Laravel如何实现适合Api的异常处理响应格式
Jun 14 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防注入安全代码
2008/04/09 PHP
php实现简单的MVC框架实例
2015/09/23 PHP
万能的php分页类
2017/07/06 PHP
PHP使用file_get_contents发送http请求功能简单示例
2018/04/29 PHP
PHP实现redis限制单ip、单用户的访问次数功能示例
2018/06/16 PHP
JavaScript的parseInt 取整使用
2011/05/09 Javascript
jquery ajax属性async(同步异步)示例
2013/11/05 Javascript
javascript静态页面传值的三种方法分享
2013/11/12 Javascript
js转化毫秒为时间格式代码
2014/04/10 Javascript
js判断当页面无法回退时关闭网页否则就history.go(-1)
2014/08/07 Javascript
浅谈被jQuery抛弃的函数及替代函数
2015/05/03 Javascript
JavaScript更改字符串的大小写
2015/05/07 Javascript
简单介绍JavaScript的变量和数据类型
2015/06/03 Javascript
JavaScript中使用sencha gridpanel 编辑单元格、改变单元格颜色
2015/11/26 Javascript
javascript函数命名的三种方式及区别介绍
2016/03/22 Javascript
详解react-router 4.0 下服务器如何配合BrowserRouter
2017/12/29 Javascript
jQuery+css last-child实现选择最后一个子元素操作示例
2018/12/10 jQuery
Vue+Django项目部署详解
2019/05/30 Javascript
js实现磁性吸附的示例
2020/10/26 Javascript
跟老齐学Python之眼花缭乱的运算符
2014/09/14 Python
Python 提取dict转换为xml/json/table并输出的实现代码
2016/08/28 Python
python中文件变化监控示例(watchdog)
2017/10/16 Python
用tensorflow实现弹性网络回归算法
2018/01/09 Python
Python装饰器原理与用法分析
2018/04/30 Python
python 不同方式读取文件速度不同的实例
2018/11/09 Python
python将txt文件读取为字典的示例
2018/12/22 Python
Python利用matplotlib绘制折线图的新手教程
2020/11/05 Python
Python爬虫如何破解JS加密的Cookie
2020/11/19 Python
快速创建python 虚拟环境
2020/11/28 Python
CSS3文本换行word-wrap解决英文文本超过固定宽度不换行
2013/10/10 HTML / CSS
CSS3中使用RGBa来调节透明度的教程
2016/05/09 HTML / CSS
越南电子产品购物网站:FPT Shop
2017/12/02 全球购物
大学教师年终总结的自我评价
2013/10/29 职场文书
团支书竞选演讲稿
2014/04/28 职场文书
小学英语教师先进事迹
2014/05/28 职场文书
优秀英文求职信范文
2015/03/19 职场文书