中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

php二分查找算法怎么實現

PHP
小億
82
2024-03-15 17:19:00
欄目: 編程語言

PHP實現二分查找算法的步驟如下:

  1. 確定要查找的數組和目標值。
  2. 定義一個函數,傳入查找的數組、目標值以及數組的起始位置和結束位置作為參數。
  3. 在函數內部,計算數組的中間位置,并將中間位置的值與目標值進行比較。
  4. 如果中間位置的值等于目標值,則直接返回中間位置的索引。
  5. 如果中間位置的值大于目標值,則在左半部分繼續查找。
  6. 如果中間位置的值小于目標值,則在右半部分繼續查找。
  7. 遞歸地調用函數,直到找到目標值或者左邊界大于右邊界為止。
  8. 如果找到目標值,則返回目標值所在的索引;否則返回-1,表示目標值不存在于數組中。

以下是一個實現二分查找算法的PHP代碼示例:

function binarySearch($arr, $target, $left, $right) {
    if ($right >= $left) {
        $mid = $left + floor(($right - $left) / 2);

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

        if ($arr[$mid] > $target) {
            return binarySearch($arr, $target, $left, $mid - 1);
        }

        return binarySearch($arr, $target, $mid + 1, $right);
    }

    return -1;
}

$arr = [1, 3, 5, 7, 9, 11, 13, 15];
$target = 7;
$index = binarySearch($arr, $target, 0, count($arr) - 1);

if ($index != -1) {
    echo "目標值在數組中的索引為: " . $index;
} else {
    echo "目標值不在數組中";
}

在以上代碼中,我們首先定義了一個binarySearch函數來實現二分查找算法。然后我們定義了一個有序數組$arr和目標值$target,并調用binarySearch函數來查找目標值在數組中的索引。如果找到目標值,則輸出目標值在數組中的索引;否則輸出目標值不在數組中。

0
古田县| 洛扎县| 华宁县| 油尖旺区| 右玉县| 天长市| 无为县| 商河县| 鹤岗市| 绥棱县| 阿拉善左旗| 图们市| 汕头市| 南川市| 重庆市| 江都市| 庆城县| 灯塔市| 苏尼特左旗| 北宁市| 清丰县| 开阳县| 九台市| 洛隆县| 台东县| 苏尼特左旗| 盈江县| 丹东市| 尚义县| 台中县| 晋中市| 峨眉山市| 诸暨市| 岳西县| 驻马店市| 象州县| 惠来县| 焦作市| 永城市| 科技| 青岛市|