📅  最后修改于: 2023-12-03 15:34:09.791000             🧑  作者: Mango
Python 的二进制搜索是一种高效的搜索方法,它可以在有序列表中查找特定元素。这种算法是将列表一分为二,然后判断目标元素在哪一半中,继续将那一半一分为二,直到找到目标元素为止。
arr
和一个目标元素 target
。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:
right = mid - 1
else:
left = mid + 1
return -1
二进制搜索算法的时间复杂度为 $O(log_2n)$,其中 $n$ 是列表的长度。由于每次搜索会将目标元素所在区间缩小一半,因此算法的时间复杂度是对数级别的。
二进制搜索算法适用于有序列表中查找目标元素。由于该算法的时间复杂度较小,因此广泛应用于计算机科学和其他相关领域,例如搜索算法、排序算法和压缩算法等。