Pythonで2分探索アルゴリズムを書く方法は?

Pythonで書かれた2分探索アルゴリズムの例を以下に示す:

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 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
target = 5
result = binary_search(arr, target)
if result != -1:
    print(f"目标元素 {target} 在数组中的索引位置为 {result}")
else:
    print("目标元素不在数组中")

この例では、binary_search関数は、ソートされた配列arrと目標要素targetを引数として受け取り、目標要素が配列内のインデックス位置を返します。目標要素が配列に存在しない場合は-1を返します。

コメントを残す 0

Your email address will not be published. Required fields are marked *


广告
広告は10秒後に閉じます。
bannerAds