python 二分查找函数
时间: 2023-10-19 15:29:42 浏览: 102
python 实现 二分查找
Python中有多种方式可以实现二分查找函数,以下是一种基于递归的实现方式:
```python
def binary_search(arr, target):
"""
二分查找函数
:param arr: 有序列表
:param target: 目标元素
:return: 目标元素在列表中的索引,若不存在则返回-1
"""
low = 0
high = len(arr) - 1
while low <= high:
mid = (low + high) // 2
if arr[mid] == target:
return mid
elif arr[mid] < target:
low = mid + 1
else:
high = mid - 1
return -1
```
你可以将要查找的列表作为第一个参数传递给 `binary_search` 函数,将要查找的目标元素作为第二个参数传递给它。函数会返回目标元素在列表中的索引,若不存在则返回-1。
请注意,这里的二分查找函数假定输入的列表是已经按升序排列好的。如果列表是乱序的,你需要先对列表进行排序再使用该函数进行查找。
阅读全文