def fib(n):
if n<=2:
return 1
else:
return fib(n-1) + fib(n-2)
n = int(input())
print(fib(n))
若输入n = 5
运算顺序大致如此:
第一层:mat(5)=mat(4)+mat(3)
第二层: mat(4)=mat(3)+mat(2) , mat(3)=mat(2)+mat(1)
第三层: mat(3)=mat(2)+mat(1)
其中mat(1)和mat(2)已知
得到mat(3)后便开始逐层返回,最后回到第一层得到最终数据
想到了什么?

9/14 未完 学习和空间复杂度
本文深入探讨了递归算法的工作原理,通过斐波那契数列的计算实例,详细讲解了递归调用的过程,从底层逐步返回并计算最终结果的机制。

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



