首页主机资讯php二分法查找法怎么使用

php二分法查找法怎么使用

时间2024-03-18 17:00:03发布访客分类主机资讯浏览476
导读:使用PHP实现二分法查找法的步骤如下: 实现一个二分查找函数,输入参数为一个有序数组和要查找的值。 初始化左边界为0,右边界为数组长度减1。 在循环中,计算中间位置mid,并比较中间位置的值与要查找的值。 如果中间位置的值等于要查找的值,...

使用PHP实现二分法查找法的步骤如下:

  1. 实现一个二分查找函数,输入参数为一个有序数组和要查找的值。
  2. 初始化左边界为0,右边界为数组长度减1。
  3. 在循环中,计算中间位置mid,并比较中间位置的值与要查找的值。
  4. 如果中间位置的值等于要查找的值,则返回中间位置。
  5. 如果中间位置的值大于要查找的值,则更新右边界为mid-1。
  6. 如果中间位置的值小于要查找的值,则更新左边界为mid+1。
  7. 如果左边界大于右边界,则表示未找到要查找的值,返回-1。

以下是一个示例代码实现:

function binarySearch($arr, $target) {
    
    $left = 0;
    
    $right = count($arr) - 1;


    while ($left = $right) {
    
        $mid = $left + floor(($right - $left) / 2);


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

        }


        if ($arr[$mid]  $target) {
    
            $left = $mid + 1;

        }
 else {
    
            $right = $mid - 1;

        }

    }
    

    return -1;

}
    

$arr = [1, 3, 5, 7, 9, 11, 13];
    
$target = 7;
    
$result = binarySearch($arr, $target);

if ($result != -1) {
    
    echo "目标值在数组中的位置是:" . $result;

}
 else {
    
    echo "目标值不在数组中";

}
    

通过以上代码实现,可以实现对有序数组的二分法查找。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: php二分法查找法怎么使用
本文地址: https://pptw.com/jishu/648705.html
python中怎么导入sys模块 java抛出异常的方法有哪些

游客 回复需填写必要信息