91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

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
孝感市| 永德县| 方山县| 洛扎县| 五台县| 翼城县| 酒泉市| 腾冲县| 丰城市| 乌苏市| 永定县| 江华| 张家港市| 眉山市| 牙克石市| 内乡县| 修文县| 阿瓦提县| 涡阳县| 宜丰县| 潮州市| 遂溪县| 尉氏县| 穆棱市| 曲沃县| 同仁县| 平南县| 建瓯市| 巴里| 方山县| 彩票| 祁东县| 缙云县| 景泰县| 新绛县| 比如县| 安远县| 琼结县| 和龙市| 泸州市| 柯坪县|