python 实现用二分查找法在列表中查找指定的元素。
时间: 2024-05-13 12:13:36 浏览: 61
简介二分查找算法与相关的Python实现示例
5星 · 资源好评率100%
可以的,这是一个常见的编程问题。二分查找法可以在有序列表中快速查找元素。下面是一个简单的 Python 实现:
```python
def binary_search(arr, x):
low, high = 0, len(arr) - 1
while low <= high:
mid = (low + high) // 2
if arr[mid] < x:
low = mid + 1
elif arr[mid] > x:
high = mid - 1
else:
return mid
return -1
```
这个函数接受一个有序列表和一个要查找的元素作为参数。它使用两个指针 low 和 high 来表示当前查找的范围。在每次循环中,它计算中间索引 mid,比较 arr[mid] 和目标值 x 的大小关系,并根据比较结果更新指针。如果找到了目标值,就返回它的索引。如果查找结束仍然没有找到,就返回 -1。
阅读全文