时间:2021-05-26
复制代码 代码如下:
<?php
class search
{
// 查找的源数组
private $array = array(1,2,3,5,7,6,4,8);
/**
* 顺序查找法
* @param $val 要查找的值
*/
public function query_search($val)
{
foreach ($this->array as $k => $v)
{
if($v == $val)
{
echo '顺序查找成功!';
exit(0);
}
}
echo '顺序查找失败!';
}
/**
* 二分查找法
* @param $val 要查找的值
*/
public function bin_search($val)
{
sort($this->array);
$min = 0;
$max = count($this->array);
for ($i = $min; $i < $max; $i++)
{
$mid = ceil(($min + $max) / 2);
if($val == $this->array[$mid])
{
echo '二分查找成功!';
exit(0);
}
else if($val < $this->array[$mid])
{
$max = $mid;
}
else if($val > $this->array[$mid])
{
$min = $mid;
}
}
echo '二分查找失败!';
}
}
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
查找数据有2种方式,顺序查找和二分查找。顺序查找适用于元素随机排列的列表。二分查找适用于元素已排序的列表。二分查找效率更高,但是必须是已经排好序的列表元素集合。
一、概述有序数组中常常用到二分查找,能提高查找的速度。今天,我们用顺序查找和二分查找实现数组的增删改查。二、有序数组的优缺点优点:查找速度比无序数组快多了缺点:
php二分查找示例二分查找常用写法有递归和非递归,在寻找中值的时候,可以用插值法代替求中值法。当有序数组中的数据均匀递增时,采用插值方法可以将算法复杂度从中值法
二分查找BinarySearch的思想:以有序表表示静态查找表时,查找函数可以用二分查找来实现。二分查找(BinarySearch)的查找过程是:先确定待查记录
本文实例讲述了PHP有序表查找之二分查找(折半查找)算法。分享给大家供大家参考,具体如下:简介:二分查找技术,又称为折半查找。它的前提是线性表中的记录必须是关键