Python实现二分查找(折半查找)算法
二分查找算法是一种高效的查找方法,也被称为折半查找。它的核心思想是利用有序数组这个前提,将待查找区间不断缩小,最终找到目标元素。二分查找算法时间复杂度为 O(log n),对于大规模数据查找非常高效。
以下是Python实现二分查找算法的源代码:
def binary_search(arr, left, right, target):
"""
二分查找算法
:param arr: 待查找数组
:param left: 左边界
:param right: 右边界
:param target: 查找目标
:return: 目标元素在数组中的下标,如果不存在则返回-1
"""
if left > right:
return -1
mid = (left + right) // 2
if arr[mid] == target:
return mid
elif arr[mid] > target:
# 在左侧继续查找
return binary_search(arr, left, mid - 1, target)
else:
# 在右侧继续查找
return binary_search(arr, mid + 1, right, target)