PHP实现二分法查找

作者: ImClive | 来源:发表于2018-04-10 12:30 被阅读28次

二分查找法需要数组是一个有序的数组。

<?php
function binarySearch($num, $arr) {
    $start = 0;
    $end = count($arr);
    $mid = floor(($start+$end)/2);

    while ($start<$end-1) {
        if ($num == $arr[$mid]) {
            return $mid;
        } elseif ($num < $arr[$mid]) {
            $end = $mid;
            $mid = floor(($start+$end)/2);
        } else {
            $start = $mid;
            $mid = floor(($start+$end)/2);
        }
    }
    return false;
}
$arr = [1,2,3,4,5,6,7,8,9,10];
$result = binarySearch(7,$arr);
print_r($result);

相关文章

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

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

  • 刷前端面经笔记(九)

    1.JavaScript实现二分法查找? 二分法查找,也称折半查找,是一种在有序数组中查找特定元素的搜索算法。查找...

  • golang循环递增数组查找值

    循环递增数组查找值 golang 1.实现要求 在循环递增数组中查找某个值 2.实现方法 使用二分法实现查找 使用...

  • PHP实现二分法查找

    二分查找法需要数组是一个有序的数组。

  • 二分法查找

    二分法查找效率高,其查找次数与总元素数量存在对数关系 原理在进行二分法查找前需要先对数据进行排序(具体排序实现详见...

  • 二分法查找

    二分法基本查找 二分法遍历查找

  • 常见算法的 Python 实现

    二分法查找 非递归版本: 递归方法实现: 冒泡排序 选择排序

  • 二分法查找

    二分法查找的前提是数组必须排序!!!二分法查找的前提是数组必须排序!!!二分法查找的前提是数组必须排序!!!二分法...

  • Java 面试系列:算法常用面试题汇总

    1.说一下什么是二分法?使用二分法时需要注意什么?如何用代码实现? 二分法查找(Binary Search)也称折...

  • 数据结构-递归

    二分法查找

网友评论

    本文标题:PHP实现二分法查找

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