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 相关文章推荐
用PHP4访问Oracle815
Oct 09 PHP
PHP连接MySQL查询结果中文显示乱码解决方法
Oct 25 PHP
6种php上传图片重命名的方法实例
Nov 04 PHP
PHP+jQuery 注册模块的改进(一):验证码存入SESSION
Oct 14 PHP
通过php修改xml文档内容的方法
Jan 23 PHP
PHP使用PDO连接ACCESS数据库
Mar 05 PHP
PHP JSON格式的中文显示问题解决方法
Apr 09 PHP
如何使用php实现评委评分器
Jul 31 PHP
WordPress中编写自定义存储字段的相关PHP函数解析
Dec 25 PHP
Yii2框架数据库简单的增删改查语法小结
Aug 31 PHP
php数组实现根据某个键值将相同键值合并生成新二维数组的方法
Apr 26 PHP
PHP高效获取远程图片尺寸和大小的实现方法
Oct 20 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 mssql 时间格式问题
2009/01/13 PHP
Android AsyncTack 异步任务实例详解
2016/11/02 PHP
2017年最新PHP经典面试题目汇总(上篇)
2017/03/17 PHP
利用php + Laravel如何实现部署自动化详解
2017/10/11 PHP
Yii框架的布局文件实例分析
2019/09/04 PHP
关于jQuery中的end()使用方法
2011/07/10 Javascript
jquery实现文本框数量加减功能的例子分享
2014/05/10 Javascript
jQuery 动态云标签插件
2014/11/11 Javascript
jQuery动态背景图片效果实现方法
2015/07/03 Javascript
基于jquery实现表格无刷新分页
2016/01/07 Javascript
jQuery的ajax和遍历数组json实例代码
2016/08/01 Javascript
微信js-sdk预览图片接口及从拍照或手机相册中选图接口用法示例
2016/10/13 Javascript
js Canvas绘制圆形时钟效果
2017/02/17 Javascript
关于vue-router路径计算问题
2017/05/10 Javascript
详解微信小程序 登录获取unionid
2017/06/27 Javascript
Vue 组件(component)教程之实现精美的日历方法示例
2018/01/08 Javascript
Angular 组件之间的交互的示例代码
2018/03/24 Javascript
apicloud拉起小程序并传递参数的方法示例
2018/11/21 Javascript
javascript数组常见操作方法实例总结【连接、添加、删除、去重、排序等】
2019/06/13 Javascript
layui递归实现动态左侧菜单
2019/07/26 Javascript
[46:55]LGD vs Liquid 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/19 DOTA
Python3实现的腾讯微博自动发帖小工具
2013/11/11 Python
Python字典数据对象拆分的简单实现方法
2017/12/05 Python
python初学之用户登录的实现过程(实例讲解)
2017/12/23 Python
用uWSGI和Nginx部署Flask项目的方法示例
2019/05/05 Python
如何真正的了解python装饰器
2020/08/14 Python
基于Python实现粒子滤波效果
2020/12/01 Python
一个SQL面试题
2014/08/21 面试题
生产现场工艺工程师岗位职责
2013/11/28 职场文书
综合办公室主任职责
2013/12/16 职场文书
光荣入党自我鉴定
2014/01/22 职场文书
地道战观后感400字
2015/06/04 职场文书
Python实现socket库网络通信套接字
2021/06/04 Python
Oracle11g R2 安装教程完整版
2021/06/04 Oracle
MySQL快速插入一亿测试数据
2021/06/23 MySQL
python turtle绘图
2022/05/04 Python