当前位置:   article > 正文

数据结构之动态规划_数据结构里面动态规划

数据结构里面动态规划

    动态规划一些题目,简单有趣,个人感觉是为了减少不必要的重复问题,提供了一个思路:

    如上图一样,使用了常用方法递归法,得到了非常慢的程序,其复杂度到2^n 从下图的分治图可以看出来

 

这里出现大量的重复的部分,于是采取了后面部分,使得每次都只出现一次,这样便可以快速的计算了

于是代码就出来了:

  1. #include <iostream>
  2. using namespace std;
  3. int dynamicFib(int n)
  4. {
  5. int g = 0, f = 1;
  6. while (0< n--)
  7. {
  8. g = g + f; //g 变为 g+f 如 g = 1+0 = 1
  9. f = g - f; //f 赋值了上次g记录的值 f = 1 -0 =1
  10. }
  11. return g;
  12. }
  13. int main()
  14. {
  15. cout << "fib " << dynamicFib(10)<< endl;
  16. return 0;
  17. }

 

在 图解算法 中:动态规划解释为:

这里只是简单介绍了动态规划的特点,对应的例题练习在我的leetCode题目栏里,请多多关注我哟。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/87271
推荐阅读
相关标签
  

闽ICP备14008679号