python 二分法范例
时间: 2024-04-21 14:21:37 浏览: 139
当我们需要在一个有序列表中查找某个特定元素时,可以使用二分法来提高查找效率。下面是一个Python的二分法范例:
```python
def binary_search(arr, target):
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
# 示例使用
arr = [1, 3, 5, 7, 9]
target = 5
result = binary_search(arr, target)
if result != -1:
print("元素在索引", result)
else:
print("元素不在列表中")
```
上述代码实现了一个`binary_search`函数,它接受一个有序列表`arr`和目标元素`target`作为参数。函数通过不断缩小查找范围,直到找到目标元素或者确定目标元素不存在。
在示例中,我们定义了一个有序列表`arr`,并且要查找的目标元素是`5`。调用`binary_search`函数后,返回的结果是目标元素在列表中的索引位置。如果目标元素不存在于列表中,则返回-1。
阅读全文