折半查找递归算法Python
时间: 2023-11-19 12:52:13 浏览: 161
折半查找的递归算法
折半查找是一种常见的查找算法,也称为二分查找。它的基本思想是将有序数组分成两部分,通过比较中间元素和目标元素的大小关系,来确定目标元素在哪一部分中,然后再在该部分中继续查找,直到找到目标元素或者确定目标元素不存在为止。而递归实现折半查找算法,就是将查找过程分成两个子问题,分别在左半部分和右半部分中递归查找,直到找到目标元素或者确定目标元素不存在为止。
下面是折半查找递归算法的Python实现:
```
def binary_search_recursive(arr, low, high, target):
if high >= low:
mid = (high + low) // 2
if arr[mid] == target:
return mid
elif arr[mid] > target:
return binary_search_recursive(arr, low, mid - 1, target)
else:
return binary_search_recursive(arr, mid + 1, high, target)
else:
return -1
```
其中,`arr`是有序数组,`low`和`high`分别是数组的起始下标和结束下标,`target`是要查找的目标元素。如果找到了目标元素,则返回其下标;否则返回-1。
阅读全文