二分检索pytho代码
时间: 2024-09-14 13:06:35 浏览: 38
Python探索之pLSA实现代码
二分搜索算法是一种在有序数组中查找特定元素的高效算法。其基本思想是将待查找区间分成两半,然后确定待查找的元素是在哪一半中,从而缩小搜索范围。这个过程会持续进行,直到找到目标元素或者区间为空。
以下是一个简单的Python代码示例,展示了二分搜索算法的实现:
```python
def binary_search(arr, target):
left, right = 0, len(arr) - 1
while left <= right:
mid = (left + right) // 2
mid_value = arr[mid]
if mid_value == target:
return mid # 找到目标元素,返回其索引
elif mid_value < target:
left = mid + 1 # 在右半边查找
else:
right = mid - 1 # 在左半边查找
return -1 # 未找到目标元素,返回-1
# 示例数组为有序数组
arr = [1, 3, 5, 7, 9, 11]
target = 7
# 调用二分搜索函数
index = binary_search(arr, target)
if index != -1:
print(f"元素 {target} 在数组中的索引为 {index}")
else:
print(f"元素 {target} 不在数组中")
```
在这个例子中,`binary_search` 函数接受一个有序数组 `arr` 和一个待查找的目标值 `target`。函数通过不断将搜索区间一分为二,直到找到目标值或者搜索区间为空。
阅读全文