递归函数的定义:
- 函数直接或间接调用自身就是递归
- 递归函数需要有边界、递归前进段、递归返回段
- 递归一定要有边界条件
- 当边界不满足的时候,递归前进
- 当边界条件满足的时候,递归返回
斐波那契数列【用递归来实现】
用for循环来看是怎么写的:
per = 0 cur = 1 print(per,cur,end=" ") n = 4 for i in range(n-1): per,cur= cur ,per + cur print(cur,end=" ") 结果: 0 1 1 2 3
用递归怎么来写
斐波那契公式:F(0)=0 ,F(1)=1 , F(n)=F(n-1)+F(n-2)def fib(n): return 1 if n < 2 else fib(n-1)+fib(n-2) for i in range(4): print(fib(i),end=" ") 结果: 1 1 2 3 5递归是有最大递归深度的一单超过这个深度,系统就会抛出错误
def fool(b,b1=3): fool(b1) fool(3) 结果: [Previous line repeated 996 more times] RecursionError: maximum recursion depth exceeded查看最大递归深处
import sys print(sys.getrecursionlimit()) sys.setrecu

本文介绍了Python中的递归函数,包括递归的定义、边界条件和递归的三个部分。通过斐波那契数列的递归实现为例,探讨了递归的性能问题,指出递归深度限制可能导致RecursionError。此外,还讨论了如何优化递归性能,建议在有限次递归的情况下考虑使用循环代替,以提高效率并避免内存溢出。
最低0.47元/天 解锁文章
1421

被折叠的 条评论
为什么被折叠?



