.实现一个二分查找法(网上查阅二分查找法资料)的函数,函数返回值有两个,一个是查找目标,另一个是查找次数。
时间: 2024-05-16 14:14:38 浏览: 50
以下是一个实现二分查找的函数:
```python
def binary_search(arr, target):
low = 0
high = len(arr) - 1
count = 0
while low <= high:
mid = (low + high) // 2
count += 1
if arr[mid] == target:
return mid, count
elif arr[mid] < target:
low = mid + 1
else:
high = mid - 1
return None, count
```
函数接受一个有序数组 `arr` 和要查找的目标值 `target`,返回一个元组,第一个元素是找到的目标值的索引,如果没找到则为 `None`,第二个元素是查找次数。
函数的实现是利用二分查找的思想,从有序数组的中间元素开始比较,如果与目标值相等就返回,否则根据大小关系缩小查找范围,直到找到目标值或者查找范围为空。
阅读全文