下面是一個示例的Python二分查找算法代碼:
def binary_search(arr, target):
left = 0
right = len(arr) - 1
while left <= right:
mid = (left + right) // 2
if arr[mid] == target:
return mid
elif arr[mid] < target:
left = mid + 1
else:
right = mid - 1
return -1
# 示例使用
arr = [2, 4, 6, 8, 10, 12, 14, 16]
target = 10
index = binary_search(arr, target)
if index != -1:
print(f"目標元素 {target} 在數組中的索引位置為 {index}")
else:
print("目標元素不存在于數組中")
此代碼中的binary_search
函數接受一個已排序的數組和目標值作為參數,并返回目標值在數組中的索引位置(如果存在),否則返回-1。算法使用一個while循環,每次迭代都將數組的搜索范圍減半,直到找到目標值或確定它不存在為止。