问题的定义

image.png

递归写法

image.png
从计算树中可以发现很多的重复计算,比如计算fib(5)的时候要计算fib(4)和fib(3),在计算fib(4)的时候又要计算fib(3)。
分析:经过数学发现,这种写法的时间代价按n值呈现指数增长。

迭代写法

image.png
注意到这种写法将n=0/n=1的特殊情况融入了循环的判断(n=1/n=2时循环条件判断为假不会启动),使得程序更加简明,但是稍微有点难理解。
分析:这种写法的时间代价按n值呈某种线性关系。