设计并编写一个二分查找算法
时间: 2023-09-10 12:09:14 浏览: 88
二分查找算法
好的,以下是一个简单的二分查找算法的 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:
left = mid + 1
else:
right = mid - 1
return -1
```
该算法的时间复杂度为 O(log n),其中 n 为数组的长度。它的基本思想是通过比较中间值与目标值的大小关系,将查找范围逐渐缩小,直到找到目标值或者查找范围为空。
阅读全文