PHP 二分查找
2015-03-26 00:11
246 查看
第一种方法:【二分查找要求】:1.必须采用顺序存储结构 2.必须按关键字大小有序排列。 【优缺点】折半查找法的优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。 【算法思想】首先,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。
<?php 2 #二分查找 3 function binarySearch(Array $arr, $target) { 4 $low = 0; 5 $high = count($arr) - 1; 6 7 while($low <= $high) { 8 $mid = floor(($low + $high) / 2); 9 #找到元素 10 if($arr[$mid] == $target) return $mid; 11 #中元素比目标大,查找左部 12 if($arr[$mid] > $target) $high = $mid - 1; 13 #重元素比目标小,查找右部 14 if($arr[$mid] < $target) $low = $mid + 1; 15 } 16 17 #查找失败 18 return false; 19 } 20 21 $arr = array(1, 3, 5, 7, 9, 11); 22 $inx = binarySearch($arr, 1); 23 var_dump($inx); 24 ?>
相关文章推荐
- PHP 冒泡排序 二分查找 顺序查找 二维数组排序算法函数
- 二分查找求函数的区间最小值&&http://acm.hdu.edu.cn/showproblem.php?pid=2899
- PHP数据结构(1) 二分查找
- PHP二分查找
- php:顺序查找和二分查找
- 用php实现简单的二分查找
- PHP二分查找
- 基本查找算法 PHP 实现 保存 顺序查找,二分查找 分块查找
- php顺序查找和二分查找示例
- 用PHP实现折半(二分)查找
- php二分查找
- PHP 折半查找(二分查找) 递归与非递归法
- 二分查找,php
- php实现二分查找
- 二分查找 http://ac.jobdu.com/problem.php?pid=1545
- http://acm.hdu.edu.cn/showproblem.php?pid=2199&&二分查找求高次方程的根
- php 二分算法查找
- PHP 冒泡排序 二分查找 顺序查找 二维数组排序算法函数的详解
- PHP 二分查找
- PHP 二分查找