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

溫馨提示×

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
曲松县| 石家庄市| 荃湾区| 十堰市| 文安县| 西乌珠穆沁旗| 江山市| 平乐县| 康乐县| 桓仁| 玛纳斯县| 喜德县| 中江县| 庆城县| 天峨县| 锡林郭勒盟| 永年县| 田阳县| 繁峙县| 阳江市| 滨海县| 陆河县| 海淀区| 东莞市| 日土县| 繁峙县| 偏关县| 扬州市| 宜丰县| 钟山县| 阆中市| 平昌县| 五指山市| 宝丰县| 松滋市| 建阳市| 上虞市| 青海省| 安化县| 如东县| 公安县|