Python 二分法查找 实现代码 示例
时间: 2025-06-04 20:46:59 浏览: 24
### Python 中二分法查找的实现代码示例
以下是基于二分法算法原理设计的一个标准 Python 实现,该函数接受一个已排序的数组 `arr` 和目标值 `target`,并返回目标值在数组中的索引位置。如果没有找到,则返回 `-1`。
```python
def binary_search(arr, target):
left, right = 0, len(arr) - 1
while left <= right:
mid = (left + right) // 2
if arr[mid] == target:
return mid # 找到目标值,返回索引位置[^1]
elif arr[mid] < target:
left = mid + 1 # 如果目标值大于中间值,搜索右半部分[^1]
else:
right = mid - 1 # 如果目标值小于中间值,搜索左半部分[^1]
return -1 # 若未找到目标值,返回-1表示不存在
# 测试代码
if __name__ == "__main__":
sorted_list = [1, 3, 5, 7, 9, 11, 13, 15]
target_value = 7
result_index = binary_search(sorted_list, target_value)
print(f"目标值 {target_value} 的索引位置为: {result_index}")
```
#### 运行结果解释
假设输入数组为 `[1, 3, 5, 7, 9, 11, 13, 15]` 并设置目标值为 `7`,程序会输出如下内容:
```
目标值 7 的索引位置为: 3
```
这表明目标值 `7` 存在于数组中,并位于索引位置 `3` 处。
---
### 关于时间复杂度
由于每次迭代都将搜索范围缩小一半,因此二分法的时间复杂度为 \(O(\log_2 n)\)[^1],其中 \(n\) 是数组长度。这种高效性使得它成为处理大规模数据集的理想选择之一。
---
阅读全文
相关推荐



















