编写函数,模拟递归二分法查找,输出该数的位置
时间: 2024-03-25 15:39:12 浏览: 52
python二分查找算法的递归实现方法
5星 · 资源好评率100%
下面是一个模拟递归二分法查找并输出该数位置的 Python 函数:
```python
def binary_search_recursive(target, sequence, left, right):
if left > right:
return -1
middle = (left + right) // 2
if target == sequence[middle]:
return middle
elif target < sequence[middle]:
return binary_search_recursive(target, sequence, left, middle - 1)
else:
return binary_search_recursive(target, sequence, middle + 1, right)
```
该函数接受四个参数:目标值、一个已排序的序列、序列左边界下标和序列右边界下标。如果左边界下标大于右边界下标,说明目标值不在序列中,返回 -1。否则,取中间下标,如果目标值等于中间元素,返回中间下标;如果目标值小于中间元素,递归调用函数在左半部分查找;如果目标值大于中间元素,递归调用函数在右半部分查找。
阅读全文