二分查找(Binary Search)是一种在有序数组中快速查找某一特定元素的搜索算法。以下是一个使用 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 # 未找到目标元素时返回-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}")
在上述示例中,binary_search
函数接受一个有序数组arr
和目标元素target
。通过设置low
和high
指针来表示搜索范围的下限和上限。在每次循环中,计算中间索引mid
,然后将目标元素与中间元素进行比较。根据比较结果,调整搜索范围,继续进行下一轮搜索。如果找到目标元素,返回其索引;否则返回-1。
你可以根据实际需求修改示例中的数组和目标元素,进行二分查找的测试。希望这个示例对你有帮助!如果你对算法或者代码实现有任何疑问,随时可以问我哦😄