算法之斐波拉契数列算法研究

1.我们计算斐波拉契数列,最常用的一种就是使用递归,如下所示:

 一次运行结果为:

2.备忘录算法实现裴波那契数列问题

 

一次运行结果为:

 

3. 动态规划算法实现裴波那契数列(非递归实现)

一次运行结果:

动态规划算法是通过拆分问题,定义问题状态和状态之间的关系,使得问题能够以递推(或者说分治)的方式去解决。 [1] 

动态规划算法的基本思想与分治法类似,也是将待求解的问题分解为若干个子问题(阶段),按顺序求解子阶段,前一子问题的解,为后一子问题的求解提供了有用的信息。在求解任一子问题时,列出各种可能的局部解,通过决策保留那些有可能达到最优的局部解,丢弃其他局部解。依次解决各子问题,最后一个子问题就是初始问题的解。

4.结论

  1. 解决某一问题,不仅仅是实现,而是要看算法的优劣和效率,即时间复杂度和空间复杂度,很显然:算法3优于算法二优于算法三
  2. 让我们很好的理解了什么是备忘录设计模式,及其具体的使用例子
  3. 让我们更好的理解了什么是动态规划算法

微信关注下这个公众号 就可以!!有木有

公众号:Java和Android架构

关注回复:android,ios,php,js,html5,python,hadoop,c++,J2EE等关键字就能免费获

猜你喜欢

转载自blog.csdn.net/xhmj12/article/details/81148666