下面是一个示例的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循环,每次迭代都将数组的搜索范围减半,直到找到目标值或确定它不存在为止。