递归函数
阅读目录:
- 概念
- 最大深度
- 相关例题
- 阶乘
- 二分查找算法
概念:
递归函数(Recursion):在一个函数的内部调用它自己
递归的最大深度
-
查看最大深度
sys.getrecursionlimit()
- 官网上是1000,但是实际测试是998
相关例题:
阶乘:
def fn(n):
if n == 1:
return 1
return fn(n-1)*n
ret = fn(5)
print(ret)
二分查找算法
def search(l,aim,start=0,end=None):
if end is None:end = len(l)-1
if start<=end:
mid = start + (end-start)//2
mid_value = l[mid]
if aim > mid_value:
start = mid+1
ret = search(l,aim,start,end)
return ret
elif aim < mid_value:
end = mid-1
ret = search(l,aim,start,end)
return ret
else:
return mid
else:
pass
l = [2,3,5,10,15,16,18,22,26,30,32,35,41,42,43,55,56,66,67,69,72,76,82,83,88]
ret = search(l,15)
print(ret)