写出折半查找的实现代码,并写出它的定义等一系列东西
时间: 2024-09-12 20:03:36 浏览: 36
折半查找,也称为二分查找,是一种在有序数组中查找特定元素的高效算法。它通过每次比较中间元素将搜索区间缩小一半来进行查找。以下是使用Python编写的折半查找的简单实现:
```python
def binary_search(arr, target):
"""
折半查找函数,arr是一个已排序的列表,target是我们要查找的目标值
返回目标值的索引,如果不存在则返回 -1
"""
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
# 示例:
# 对于有序数组 [1, 3, 5, 7, 9]
# binary_search([1, 3, 5, 7, 9], 5) 将返回 2,因为5在数组中的索引是2
# binary_search([1, 3, 5, 7, 9], 6) 将返回 -1,因为6不在数组中
```
阅读全文