二分查找法比较次数代码
时间: 2023-07-19 13:42:10 浏览: 92
二分查找代码
好的,以下是一个简单的二分查找法的 Python 代码示例:
```python
def binary_search(arr, x):
low = 0
high = len(arr) - 1
mid = 0
while low <= high:
mid = (high + low) // 2
# 如果 x 大于中间元素,则在右侧子数组中查找
if arr[mid] < x:
low = mid + 1
# 如果 x 小于中间元素,则在左侧子数组中查找
elif arr[mid] > x:
high = mid - 1
# 如果 x 等于中间元素,则返回 mid
else:
return mid
# 如果未找到 x,则返回 -1
return -1
```
在这个代码中,`arr` 是一个已经排好序的列表,`x` 是要查找的元素。该算法使用一个 while 循环来进行查找,每次都通过计算中间元素的索引,将查找范围缩小一半。在最坏情况下,二分查找法的比较次数为 `log2(n)`,其中 `n` 是列表中元素的个数。
阅读全文