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 类!!原创的噢
Oct 09 PHP
PHP中通过ADO调用Access数据库的方法测试不通过
Dec 31 PHP
推荐Discuz!5的PHP代码高亮显示与实现可运行代码
Mar 15 PHP
PHP获取文件绝对路径的代码(上一级目录)
May 29 PHP
基于initPHP的框架介绍
Apr 18 PHP
解析curl提交GET,POST,Cookie的简单方法
Jun 29 PHP
php中字符串和正则表达式详解
Oct 23 PHP
盘点PHP和ASP.NET的10大对比!
Dec 24 PHP
php 判断字符串编码是utf-8 或gb2312实例
Nov 01 PHP
Laravel5.7框架安装与使用学习笔记图文详解
Apr 02 PHP
php使用gearman进行任务分发操作实例详解
Feb 26 PHP
php输出形式实例整理
May 05 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/07/24 PHP
PHP array操作10个小技巧分享
2011/06/23 PHP
php curl获取网页内容(IPV6下超时)的解决办法
2013/07/16 PHP
基于JQuery的一个简单的鼠标跟随提示效果
2010/09/23 Javascript
js判断输入是否为正整数、浮点数等数字的函数代码
2010/11/17 Javascript
js实时监听文本框状态的方法
2011/04/26 Javascript
js控制表单奇偶行样式的简单方法
2013/07/31 Javascript
js控制frameSet示例
2013/09/10 Javascript
js正则匹配出所有图片及图片地址src的方法
2015/06/08 Javascript
在JavaScript中如何解决用execCommand(
2015/10/19 Javascript
JavaScript判断浏览器对CSS3属性是否支持的多种方法
2016/11/13 Javascript
fullCalendar中文API官方文档
2017/02/07 Javascript
JS+HTML+CSS实现轮播效果
2017/11/28 Javascript
微信二次分享报错invalid signature问题及解决方法
2019/04/01 Javascript
微信小程序实现星级评价
2019/11/20 Javascript
vue项目在webpack2实现移动端字体自适配功能
2020/06/02 Javascript
[03:04]DOTA2超级联赛专访ZSMJ “莫名其妙”的逆袭
2013/05/23 DOTA
[01:29]2017 DOTA2国际邀请赛官方英雄手办展示
2017/03/18 DOTA
Python实现自动发送邮件功能
2021/03/02 Python
python实现求最长回文子串长度
2018/01/22 Python
python3.5 tkinter实现页面跳转
2018/01/30 Python
使用apidocJs快速生成在线文档的实例讲解
2018/02/07 Python
Flask web开发处理POST请求实现(登录案例)
2018/07/26 Python
Python 变量的创建过程详解
2019/09/02 Python
python使用pygame实现笑脸乒乓球弹珠球游戏
2019/11/25 Python
python词云库wordcloud的使用方法与实例详解
2020/02/17 Python
基于python3的socket聊天编程
2020/02/17 Python
公认8个效率最高的爬虫框架
2020/07/28 Python
python 爬虫之selenium可视化爬虫的实现
2020/12/04 Python
HTML5全屏(Fullscreen)API详细介绍
2015/04/24 HTML / CSS
某公司C#程序员面试题笔试题
2014/05/26 面试题
党校自我鉴定范文
2013/10/02 职场文书
2014年中班元旦活动方案
2014/02/14 职场文书
金融管理应届生求职信
2014/02/20 职场文书
漫画「狩龙人拉格纳」公开TV动画预告图
2022/03/22 日漫
MySQL索引失效场景及解决方案
2022/07/23 MySQL