二分查找和顺序查找
2016-12-06 10:59
183 查看
具体代码实现如下:
二分查找:
// 二分查找
/**
* @param array $arr 查找的数组
* @param int $low 数组起始元素下标
* @param int $hig 数组末尾元素下标
* @param $k 所要查找的元素
* return 成功返回数组下标,失败则返回-1
**/
function bin_sort($arr,$low,$hig,$k) {
if($low<=$hig) {
$mid = intval(($low+$hig)/2);
if($arr[$mid]==$k) {
return $mid;
} else if($k<$arr[$mid]) {
bin_sort($arr,$low,$mid-1,$k);
} else if($k>$arr[$mid]) {
bin_sort($arr,$mid+1,$hig,$k);
}
}
return -1;
}
顺序查找:
// 顺序查找
function search($arr,$k) {
for($i=0,$n=count($arr);$i<$n;$i++) {
if($arr[$i]==$k) {
break;
}
}
if($i<$n) {
return $i;
} else {
return -1;
}
}
二分查找:
// 二分查找
/**
* @param array $arr 查找的数组
* @param int $low 数组起始元素下标
* @param int $hig 数组末尾元素下标
* @param $k 所要查找的元素
* return 成功返回数组下标,失败则返回-1
**/
function bin_sort($arr,$low,$hig,$k) {
if($low<=$hig) {
$mid = intval(($low+$hig)/2);
if($arr[$mid]==$k) {
return $mid;
} else if($k<$arr[$mid]) {
bin_sort($arr,$low,$mid-1,$k);
} else if($k>$arr[$mid]) {
bin_sort($arr,$mid+1,$hig,$k);
}
}
return -1;
}
顺序查找:
// 顺序查找
function search($arr,$k) {
for($i=0,$n=count($arr);$i<$n;$i++) {
if($arr[$i]==$k) {
break;
}
}
if($i<$n) {
return $i;
} else {
return -1;
}
}
相关文章推荐
- 算法如功夫——二分查找和顺序查找的C代码
- PHP 顺序查找和二分查找(也叫做折半查找)算法
- 第三周作业 --------顺序查找和二分查找
- C/C++查找之一(顺序查找、折半查找(二分查找))
- 使用PHP描述顺序查找和二分查找(也叫做折半查找)算法,顺序查找必须考虑效率,对象可以是一个有序数组
- 简单描述一下二分查找和顺序查找
- 《Delphi 算法与数据结构》学习与感悟[1]: 通过 "顺序查找" 与 "二分查找" 说明算法的重要性
- Java中常用的查找算法 - 顺序查找和二分查找
- 使用PHP描述顺序查找和二分查找(也叫做折半查找)算法,顺序查找必须考虑效率,对象可以是一个有序数组
- 查找系列之简述顺序查找和二分查找
- 十.用C语言实现查找算法 (1)顺序查找;(2)二分查找(折半查找);(3)二叉排序树;(4)哈希查找
- 二分查找,顺序查找
- PHP数据结构——二分查找与顺序查找
- 基本查找算法 PHP 实现 保存 顺序查找,二分查找 分块查找
- 有序表和无序表分别进行顺序查找,对于查找失败的情况下,它们的平均查找长度是不同的
- 顺序查找
- C/C++常用算法【C语言顺序查找(随机数)】【1】
- 顺序表的查找
- 分块查找(索引顺序表查找)
- 顺序查找以及二分查找