”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > 搜索算法

搜索算法

发布于2024-07-31
浏览:436

Search Algorithms

了解 PHP 中的二分查找

二分搜索是一种在排序数组中查找元素的更有效的算法。它的工作原理是反复将搜索间隔分成两半。以下是您的二元搜索函数的详细分类:

function binarySearch(array $arr, float|int $x)
{
    $low = 0;
    $high = count($arr)-1;
    // $midIndex = (int) ($low   ($high - $low)/2);
    $i = 0;
    while($low  $arr[$midIndex]){
            $low = $midIndex  1;
            echo $low."\n";
        }else{
            $high = $midIndex - 1;
        }
    }

return "The number {$x} was not found in the array";


}

echo binarySearch([1,2,3,4,5,6,7,8,9,10,44,45,46,47,48,49,50], 45)

函数binarySearch接受两个参数:

  1. $arr:已排序的整数数组。
  2. $x:要查找的数字,可以是浮点数,也可以是整数。
  3. $low 被初始化为数组的第一个索引。
  4. $high 被初始化为数组的最后一个索引。
  5. $i 是一个跟踪迭代次数的计数器。
  6. 只要搜索间隔有效($low 小于或等于 $high),while 循环就会运行。
  7. $midIndex 计算为当前区间的中间索引。
  8. 如果中间元素等于$x,函数返回索引和迭代次数。
  9. 如果$x大于中间元素,则将$low调整为midIndex 1(将搜索范围缩小到上半部分)。
  10. 如果$x小于中间元素,则将$high调整为midIndex - 1(将搜索范围缩小到下半部分)。

了解 PHP 中的线性搜索

线性搜索是用于查找数组中特定元素的最简单的搜索算法之一。让我们分解一下 PHP 中的 LinearSearch 函数。

function linearSearch(array $arr, float|int $x)
{
    for($i=0; $i 



线性搜索函数接受两个参数:

  1. $arr:整数数组。
  2. $x:要查找的数字,可以是浮点数,也可以是整数。
  3. for 循环迭代数组的每个元素。 count($arr) 函数返回数组中的元素数量。
  4. 在循环内,代码检查当前元素 ($arr[$i]) 是否等于 $x。如果找到匹配项,它将返回一条消息,指示找到该号码的索引。
  5. 如果循环完成后没有找到该数字,该函数将返回一条消息,指示在数组中未找到该数字。
  6. 线性搜索简单且易于实现。它顺序检查数组的每个元素,直到找到所需的元素或到达数组末尾。这种方法很简单,但对于大型数组来说效率较低,因为它的时间复杂度为 O(n)。
版本声明 本文转载于:https://dev.to/ayowandeapp/search-algorithms-2613?1如有侵犯,请联系[email protected]删除
最新教程 更多>

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3