二分查找
时间: 2025-07-07 22:13:23 浏览: 0
### 二分查找算法原理及实现代码
#### 原理
二分查找算法是一种高效的查找方法,适用于有序数组。其基本思想是通过将搜索区间不断缩小一半来查找目标元素。具体步骤如下:
1. **初始化**:设定查找的起始位置 `start` 和数组长度 `length`。
2. **计算中间位置**:通过公式 `mid = start + (length - start) // 2` 计算中间位置。
3. **比较中间元素**:
- 如果中间元素等于目标值,则返回该位置。
- 如果中间元素小于目标值,则在右半部分继续查找。
- 如果中间元素大于目标值,则在左半部分继续查找。
4. **递归或迭代**:重复上述过程直到找到目标元素或者确定目标元素不存在。
#### Python 实现
以下是使用递归方式实现的二分查找算法:
```python
def binSearchFunc(arr, start, length, target):
if length >= 1:
mid = start + (length - start) // 2
if arr[mid] == target:
return mid
elif arr[mid] < target:
return binSearchFunc(arr, mid + 1, length - mid - 1, target)
else:
return binSearchFunc(arr, start, mid - 1, target)
else:
return -1
# 示例数组
arrays = [1, 2, 3, 5, 6, 8]
# 调用二分查找函数
i = binSearchFunc(arrays, 0, len(arrays), 5)
if i != -1:
print(f"找到目标元素,下标为: {i}")
else:
print("目标元素不在数组中")
```
输出结果为:
```
找到目标元素,下标为: 3
```
#### 注意事项
- 数组必须是有序的,可以是升序也可以是降序[^2]。
- 如果数组是降序排列,需要对代码进行适当修改以适应降序条件。
阅读全文
相关推荐














