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

溫馨提示×

python二分法查找代碼怎么寫

小億
89
2023-11-09 11:22:13
欄目: 編程語言

以下是一個用Python實現二分查找的代碼示例:

def binary_search(arr, target):
    low = 0
    high = len(arr) - 1
  
    while low <= high:
        mid = (low + high) // 2
        
        if arr[mid] == target:
            return mid
        elif arr[mid] < target:
            low = mid + 1
        else:
            high = mid - 1
  
    return -1

# 測試代碼
arr = [2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
target = 10
result = binary_search(arr, target)
if result != -1:
    print("元素在索引位置", result)
else:
    print("元素不在數組中")

在此示例中,我們定義了一個名為binary_search的函數,該函數接受一個已排序的數組arr和目標值target作為參數。然后,我們使用lowhigh兩個指針分別指向數組的最低和最高索引。

接下來,我們使用一個循環來迭代,直到找到目標元素或low大于high為止。在每次迭代中,我們計算出中間索引mid,并與目標元素進行比較。如果arr[mid]等于目標元素,則返回mid作為結果。如果arr[mid]小于目標元素,則將low指針移動到mid + 1,否則將high指針移動到mid - 1

如果循環結束時仍然沒有找到目標元素,則返回-1表示目標元素不在數組中。

最后,我們使用一些測試代碼來驗證binary_search函數是否正確工作,并打印結果。在此示例中,目標元素10在數組中的索引位置為4。如果目標元素不在數組中,則打印"元素不在數組中"。

0
牡丹江市| 罗山县| 巩义市| 苍南县| 太仓市| 两当县| 秭归县| 益阳市| 五莲县| 元氏县| 新蔡县| 临西县| 峨边| 鄂温| 丰宁| 荔波县| 阳泉市| 泊头市| 遂溪县| 潞西市| 罗定市| 安义县| 白沙| 景谷| 兴国县| 定边县| 九龙县| 长寿区| 黔西| 双桥区| 竹山县| 兰考县| 思茅市| 益阳市| 克东县| 葫芦岛市| 阜新市| 正定县| 隆化县| 微山县| 罗定市|