亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

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
栾城县| 甘孜县| 保靖县| 连云港市| 图们市| 改则县| 通江县| 邛崃市| 武冈市| 安达市| 环江| 自贡市| 临海市| 台中市| 东乡县| 镇原县| 永泰县| 贞丰县| 牙克石市| 盈江县| 舒兰市| 合山市| 马龙县| 保定市| 大丰市| 阳山县| 扎囊县| 元阳县| 资源县| 江门市| 义马市| 漯河市| 上犹县| 利川市| 三明市| 通辽市| 五家渠市| 八宿县| 洮南市| 来凤县| 班玛县|