php 简单的二分法查找
2014-08-06 13:56
281 查看
//search函数 其中$array为数组,$k为要找的值,$low为查找范围的最小键值,$high为查找范围的最大键值
function search($array, $k, $low=0, $high=0)
{
if(count($array)!=0 and $high == 0) //判断是否为第一次调用
{
$high = count($array);
}
if($low <= $high) //如果还存在剩余的数组元素
{
$mid = intval(($low+$high)/2); //取$low和$high的中间值
if ($array[$mid] == $k) //如果找到则返回
{
return $mid;
}
elseif ($k < $array[$mid]) //如果没有找到,则继续查找
{
return search($array, $k, $low, $mid-1);
}
else
{
return search($array, $k, $mid+1, $high);
}
}
return -1;
}
$array = array(1,2,3,5,7,8,9,10); //测试search函数
echo search($array, 8); //调用search函数并输出查找结果
function search($array, $k, $low=0, $high=0)
{
if(count($array)!=0 and $high == 0) //判断是否为第一次调用
{
$high = count($array);
}
if($low <= $high) //如果还存在剩余的数组元素
{
$mid = intval(($low+$high)/2); //取$low和$high的中间值
if ($array[$mid] == $k) //如果找到则返回
{
return $mid;
}
elseif ($k < $array[$mid]) //如果没有找到,则继续查找
{
return search($array, $k, $low, $mid-1);
}
else
{
return search($array, $k, $mid+1, $high);
}
}
return -1;
}
$array = array(1,2,3,5,7,8,9,10); //测试search函数
echo search($array, 8); //调用search函数并输出查找结果
相关文章推荐
- php 数组二分法查找函数代码
- 二分法简单排序和查找
- 二分法查找和快速排序 二分法是分治算法的一种特殊形式,利用分治策略求解时,所需时间取决于分解后子问题的个数、子问题的规模大小等因素,而二分法,由于其划分的简单和均匀的特点,是查找数据时经常采用的一种有
- php中二分法查找算法实例分析
- PHP中实现二分法查找的两种方法
- 用php实现简单的二分查找
- 快速排序、二分法查找的PHP实现代码
- php简单的查找当前目录下的非法文件
- 简单递归—二分法查找
- 用PHP实现二分法查找之递归和迭代
- 二分法简单排序和查找
- php数组二分法查找
- php中常用的二分法查找
- Java实现简单的二分法查找int数组中的某值
- PHPRedis命令查找手册网址 和简单介绍
- 二分法简单排序和查找
- php数据结构与算法(PHP描述) 查找与二分法查找
- 基本算法简单实现-二分法查找、合并排序、冒泡排序、插入排序、选择排序、快速排序
- php常见的几种排序以及二分法查找
- 冒泡排序、二分法查找基于Java的简单实现