二分查找算法
时间: 2023-07-10 12:07:24 浏览: 117
数组篇刷题模板总结一_二分查找.md
二分查找算法(Binary Search)也称折半查找算法,是一种在有序数组中查找某一特定元素的搜索算法。其基本思想是:将数组分成两部分,分别比较中间元素与查找元素的大小关系,如果相等则直接返回,如果中间元素大于查找元素,则在前半部分继续查找,否则在后半部分继续查找,直到查找到或者全部查找完毕。
二分查找算法的时间复杂度为 O(log n),是一种高效的查找算法,但要求数组必须是有序的。
以下是二分查找算法的 Python 代码实现:
```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
```
其中,arr 是一个有序数组,x 是要查找的元素。函数返回值为元素在数组中的下标,如果不存在则返回 -1。
阅读全文