p ython二分查找算法
时间: 2023-07-10 12:12:41 浏览: 165
二分查找算法也称为折半查找算法,是一种高效的查找算法。它的基本思想是将有序的数组分成两部分,通过与中间元素的比较,确定待查找元素在哪一部分中,然后再在该部分中继续执行相同的操作,直到找到待查找元素。
下面是一个用 Python 实现的二分查找算法示例:
```python
def binary_search(arr, target):
"""
在有序数组 arr 中查找 target 元素,返回其下标,若不存在则返回 -1
"""
left, right = 0, 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
```
其中,arr 表示有序数组,target 表示待查找元素。该算法使用两个指针 left 和 right 分别指向数组的左右两端,不断将数组分成两部分,直到找到 target 元素或者确定 target 元素不存在。时间复杂度为 O(log n),其中 n 表示数组的长度。
阅读全文