在Python中,递归是一种常用的编程技巧,它允许一个函数调用自身来解决问题。递归通常用于解决分治问题,例如计算阶乘、斐波那契数列等。以下是一个简单的递归实现查找函数的示例:
def binary_search(arr, target, low, high):
if low > high:
return -1 # 目标值不在数组中
mid = (low + high) // 2
if arr[mid] == target:
return mid # 找到目标值,返回其索引
elif arr[mid]< target:
return binary_search(arr, target, mid + 1, high) # 在右侧子数组中查找
else:
return binary_search(arr, target, low, mid - 1) # 在左侧子数组中查找
# 示例
arr = [1, 3, 5, 7, 9]
target = 5
result = binary_search(arr, target, 0, len(arr) - 1)
print(result) # 输出:2
在这个示例中,我们使用了二分查找算法(binary search)来在有序数组arr
中查找目标值target
。binary_search
函数接受四个参数:数组arr
、目标值target
、搜索范围的最低索引low
和最高索引high
。通过递归地将搜索范围缩小一半,直到找到目标值或搜索范围为空。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读:c++递归函数在查找中的作用