Python实现二分法
时间: 2024-08-11 20:01:52 浏览: 67
Python实现二分法算法实例
二分查找,也称为折半查找,是一种在有序数组中查找特定元素的搜索算法。它的工作原理是每次将待查找区间缩小一半,直到找到目标值或确定区间为空。以下是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
# 如果遍历结束后仍未找到目标,返回-1表示未找到
return -1
# 使用示例
arr = [1, 3, 5, 7, 9]
target = 5
result = binary_search(arr, target)
if result != -1:
print(f"找到了,索引为 {result}")
else:
print("没找到")
```
阅读全文