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字符串截取中文截取2,单字节截取模式
Dec 10 PHP
php 全文搜索和替换的实现代码
Jul 29 PHP
c#中的实现php中的preg_replace
Dec 21 PHP
PHP把小数转成整数3种方法
Jun 30 PHP
php使用Cookie实现和用户会话的方法
Jan 21 PHP
php对关联数组循环遍历的实现方法
Mar 13 PHP
php实现paypal 授权登录
May 28 PHP
php随机显示指定文件夹下图片的方法
Jul 13 PHP
php字符集转换
Jan 23 PHP
PHP实现读取文件夹及批量重命名文件操作示例
Apr 15 PHP
php 多继承的几种常见实现方法示例
Nov 18 PHP
Laravel配合jwt使用的方法实例
Oct 25 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
自动把纯文本转换成Web页面的php代码
2009/08/27 PHP
php生成圆角图片的方法
2015/04/07 PHP
PHP实现发送邮件的方法(基于简单邮件发送类)
2015/12/17 PHP
php的优点总结 php有哪些优点
2019/07/19 PHP
Docker 安装 PHP并与Nginx的部署实例讲解
2021/02/27 PHP
基于jquery的仿百度的鼠标移入图片抖动效果
2010/09/17 Javascript
JavaScript 对任意元素,自定义右键菜单的实现方法
2013/05/08 Javascript
node.js中使用socket.io的方法
2014/12/15 Javascript
原生javascript实现DIV拖拽并计算重复面积
2015/01/02 Javascript
jquery实现根据浏览器窗口大小自动缩放图片的方法
2015/07/17 Javascript
javascript基础知识分享之类与函数化
2016/02/13 Javascript
解决Angular.Js与Django标签冲突的方案
2016/12/20 Javascript
vue实现导航栏效果(选中状态刷新不消失)
2017/12/13 Javascript
vue 动态修改a标签的样式的方法
2018/01/18 Javascript
关于node-bindings无法在Electron中使用的解决办法
2018/12/18 Javascript
mongodb初始化并使用node.js实现mongodb操作封装方法
2019/04/02 Javascript
vue 根据选择条件显示指定参数的例子
2019/11/09 Javascript
在Python中使用成员运算符的示例
2015/05/13 Python
Django中login_required装饰器的深入介绍
2017/11/24 Python
快速解决PyCharm无法引用matplotlib的问题
2018/05/24 Python
python调用百度语音识别api
2018/08/30 Python
对python中Json与object转化的方法详解
2018/12/31 Python
pytorch绘制并显示loss曲线和acc曲线,LeNet5识别图像准确率
2020/01/02 Python
如何在django中实现分页功能
2020/04/22 Python
Python 排序最长英文单词链(列表中前一个单词末字母是下一个单词的首字母)
2020/12/14 Python
html5通过canvas实现刮刮卡效果示例分享
2014/01/27 HTML / CSS
英国度假别墅预订:Sykes Cottages
2017/06/12 全球购物
Skyscanner新西兰:全球领先的旅游搜索网站
2019/08/26 全球购物
超市中秋节促销方案
2014/03/21 职场文书
资助贫困学生倡议书
2014/05/16 职场文书
求职信标题怎么写
2014/05/26 职场文书
车辆转让协议书
2014/09/24 职场文书
出纳试用期自我评价
2015/03/10 职场文书
如何理解PHP核心特性命名空间
2021/05/28 PHP
如何判断pytorch是否支持GPU加速
2021/06/01 Python
Python使用Opencv打开笔记本电脑摄像头报错解问题及解决
2022/06/21 Python