分治算法的二分查找源码
时间: 2024-11-01 13:07:06 浏览: 10
c语言分治法实现二分查找源码.doc
二分查找(Binary Search),也称为折半查找,是一种在有序数组中寻找特定元素的搜索算法。其基本思想是将数组分成两部分,每次比较中间元素与目标值,如果相等则找到,如果目标值小于中间值,则在左半部分继续查找,否则在右半部分查找,直到找到目标或确定不存在。
以下是一个简单的二分查找的 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 或者 None 表示未找到
return -1
# 使用示例
arr = [1, 3, 5, 7, 9]
target = 5
result = binary_search(arr, target)
if result != -1:
print(f"Element found at index {result}")
else:
print("Element not found in the array")
```
阅读全文