摘要: 斐波那契数的计算公式是F(n)=F(n-1)+F(n-2),F(0)=F(1)=1任何递推的数学公式都可以直接翻译为递归的算法,于是递归的斐波那契数计算方法是这样的:int fib(int n){ if(n<=1) return 1; else return fib(n-1)+fib(n-2);}但是这样导致了大量的重复计算,造成时间和空间的极大浪费,如下图所示把递归的算法写成非递归的算法,子问题的答案记录在一个表里,这种技巧就是动态规划。在计算斐波那契数的时候我们只需要把F(n)和F(n+1)保留到计算出F(n+2)就可以了,不需要一直保存。改进后的算法如下:int fibonacci 阅读全文
posted @ 2010-10-22 11:33 张朝阳 阅读(1258) 评论(3) 推荐(0) 编辑