美文网首页
php 二分查找

php 二分查找

作者: 进击的PHPer | 来源:发表于2019-04-01 15:32 被阅读0次

原理:

1.确定查找范围front=0,end=N-1,计算中项mid=(front+end)/2。

2.若a[mid]=x或front>=end,则结束查找;否则,向下继续。

3.若a[mid]<x,说明待查找的元素值只可能在比中项元素大的范围内,则把mid+1的值赋给front,并重新计算mid,转去执行步骤2;若a[mid]>x,说明待查找的元素值只可能在比中项元素小的范围内,则把mid-1的值赋给end,并重新计算mid,转去执行步骤2。

function binary_search($arr=[], $target) {

        $low = 0;

        $high = count($arr) - 1;

        while($low <= $high) {

               $mid = floor(($low + $high) / 2);

               #找到元素

               if($arr[$mid] == $target) return $mid;

                #中元素比目标大,查找左部

                if($arr[$mid] > $target) $high = $mid - 1;

                #重元素比目标小,查找右部

                if($arr[$mid] < $target) $low = $mid + 1;

        }

        #查找失败

        return false;

  }

https://blog.csdn.net/benben0729/article/details/82893115

相关文章

  • PHP经典算法题

    PHP学习之路---算法题 1.使用PHP描述顺序查找和二分查找(也叫做折半查找)算法,顺序查找必须考虑效率,对象...

  • PHP算法

    PHP算法 使用PHP描述顺序查找和二分查找(也叫做折半查找)算法,顺序查找必须考虑效率,对象可以是一个有序数组二...

  • PHP视频教程之PHP有序表查找之二分查找(折半查找)算法

    本篇文章扣丁学堂PHP培训小编带读者们来了解一下PHP有序表查找之二分查找(折半查找)的算法,对PHP开发技术感兴...

  • PHP 二分查找实例

  • php 二分查找

    使用php实现二分查找,传入的数组需要先进行排序。 将数组的第一个和最后一个元素作为初始二分查找的两个边界。取出这...

  • php 二分查找

    原理: 1.确定查找范围front=0,end=N-1,计算中项mid=(front+end)/2。 2.若a[m...

  • python二分查找算法

    文章概述 二分查找法介绍 简单查找与二分查找对比 二分查找  二分查找算法主要思想:在有序列表中查找指定元素,先从...

  • PHP中实现二分法查找的两种方法

    php实现二分法的查找其实很简单,跟我一起来看看怎么实现吧。 二分法查找需要数组是一个递增的数组。 想要写出二分法...

  • 数据结构和算法--二分查找

    二分查找 二分查找的思想 二分查找(Binary Search)算法,也叫折半查找算法。 二分查找针对的是一个有序...

  • php 二分查找法

    递归二分 循环二分

网友评论

      本文标题:php 二分查找

      本文链接:https://www.haomeiwen.com/subject/srbybqtx.html