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 相关文章推荐
pw的一个放后门的方法分析
Oct 08 PHP
PHP服务器页面间跳转实现方法
Aug 02 PHP
PHP数组及条件,循环语句学习
Nov 11 PHP
使用php判断浏览器的类型和语言的函数代码
Feb 28 PHP
解析thinkphp基本配置 convention.php
Jun 18 PHP
php数据类型判断函数有哪些
Sep 23 PHP
php中利用explode函数分割字符串到数组
Feb 08 PHP
php实现水仙花数示例分享
Apr 03 PHP
PHP图片裁剪函数(保持图像不变形)
May 04 PHP
PHP+Ajax检测用户名或邮件注册时是否已经存在实例教程
Aug 23 PHP
php实现根据IP地址获取其所在省市的方法
Apr 30 PHP
基于PHP实现栈数据结构和括号匹配算法示例
Aug 10 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
js和php邮箱地址验证的实现方法
2014/01/09 PHP
php数组合并与拆分实例分析
2015/06/12 PHP
php实现微信扫码自动登陆与注册功能
2016/09/22 PHP
jQuery 扩展对input的一些操作方法
2009/10/30 Javascript
新老版本juqery获取radio对象的方法
2010/03/01 Javascript
JSChart轻量级图形报表工具(内置函数中文参考)
2010/10/11 Javascript
后台获取ZTREE选中节点的方法
2015/02/12 Javascript
ECMAScript6新增值比较函数Object.is
2015/06/12 Javascript
JavaScript 实现的 zip 压缩和解压缩工具包Zip.js使用详解
2015/12/14 Javascript
jQuery使用serialize()表单序列化时出现中文乱码问题的解决办法
2016/07/27 Javascript
js HTML5上传示例代码完整版
2016/10/10 Javascript
原生JS实现匀速图片轮播动画
2016/10/18 Javascript
js中的触发事件对象event.srcElement与event.target详解
2017/03/15 Javascript
详解vue2.0组件通信各种情况总结与实例分析
2017/03/22 Javascript
React-intl 实现多语言的示例代码
2017/11/03 Javascript
React Native 图片查看组件的方法
2018/03/01 Javascript
vue加载自定义的js文件方法
2018/03/13 Javascript
vue实现从外部修改组件内部的变量的值
2020/07/30 Javascript
[02:23]2018DOTA2亚洲邀请赛趣味视频——反应测试
2018/04/04 DOTA
[37:29]完美世界DOTA2联赛PWL S2 LBZS vs Forest 第二场 11.19
2020/11/19 DOTA
[06:07]DOTA2-DPC中国联赛3月5日Recap集锦
2021/03/11 DOTA
Python使用cx_Oracle模块将oracle中数据导出到csv文件的方法
2015/05/16 Python
python实现数组插入新元素的方法
2015/05/22 Python
Python网络爬虫神器PyQuery的基本使用教程
2018/02/03 Python
Python利用Faiss库实现ANN近邻搜索的方法详解
2020/08/03 Python
仿CSDN Blog返回页面顶部功能实现原理及代码
2013/06/30 HTML / CSS
Banana Republic英国官网:香蕉共和国,GAP集团旗下偏贵族风
2018/04/24 全球购物
几个SQL的面试题
2014/03/08 面试题
大学生优秀的自我评价分享
2013/10/22 职场文书
煤矿班组长岗位职责
2013/12/29 职场文书
自立自强的名人事例
2014/02/10 职场文书
请假条的格式
2014/04/11 职场文书
社保代办委托书怎么写
2014/10/06 职场文书
2014年流动人口工作总结
2014/11/26 职场文书
租赁协议书
2015/01/27 职场文书
《半截蜡烛》教学反思
2016/02/19 职场文书