二分查找
二分查找,也称为折半查找,是一种在有序数组中查找特定元素的算法。它通过将数组分成两部分,然后确定目标值可能在哪一部分,从而减少查找的范围,提高查找效率。
以下是一个简单的示例代码,如何使用二分查找在有序数组中查找目标值:
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, 3, 5, 7, 9, 11, 13, 15]
target = 7
result = binary_search(arr, target)
if result != -1:
print(f"目标值 {target} 在数组中的索引为 {result}")
else:
print(f"目标值 {target} 不存在于数组中")