📅  最后修改于: 2023-12-03 15:21:40.794000             🧑  作者: Mango
二进制搜索是一种高效的查找算法,这种算法也被称为二分搜索,因为它每次都将搜索范围缩小到一半。
二进制搜索的算法步骤如下:
下面是使用 Python 编写的二进制搜索代码示例:
def binary_search(arr, x):
low = 0
high = len(arr) - 1
while low <= high:
mid = (low + high) // 2
if arr[mid] == x:
return mid
elif arr[mid] < x:
low = mid + 1
else:
high = mid - 1
return -1
该函数接受两个参数,一个已排序的数组和要搜索的元素。它使用 while 循环进行二进制搜索,最终返回要搜索的元素的索引,如果找不到该元素,则返回 -1。
二进制搜索是一种非常高效的查找算法,其时间复杂度为 O(log n)。这种算法通常用于已排序的数组中,可以快速查找特定的元素。使用递归或迭代的方式实现二进制搜索都很简单,建议程序员们灵活使用。