斐波那契数列
在本练习中,您将实现无处不在于自然界的斐波那契数列。该数列如下所示:"0, 1, 1, 2, 3, 5, 8…"。您将编写一个生成该数列的递归算法实现。
前两个数是 0 和 1,其余每个数都是前两个数之和。
我们可以将此数列递归地定义为:$fib(n)=fib(n-1)+fib(n-2)$,其中 \(fib(0)=0\) 且 $fib(1)=1$,\(n\) 为数列中的第 \(n\) 个位置。
第一步,使用递归来实现斐波那契。第二步,使用动态规划进行改进,把子问题的解保存在 cache 变量中。
本练习是课程的一部分
Python 中的数据结构与算法
交互式实操练习
通过完成这段示例代码来试试这个练习。
def fibonacci(n):
# Define the base case
if ____ <= ____:
return n
else:
# Call recursively to fibonacci
____
print(fibonacci(6))