算法第三章作业

1.对动态规划算法的理解

1)动态规划算法是一种用于求解具有最优解性质问题的算法。
2)与递归方法比,动态规划算法用来解决子问题被重复计算多次的情况且没有栈溢出的风险。
3)递归方法、递归备忘录方法都是自顶向下的算法,而动态规划算法是自顶向下的迭代算法,避免了子问题的重复计算。
4)动态规划通常可以把时间复杂度从指数级降到多项式级。
5)动态规划算法是用空间代价换取时间代价的算法。

2. 编程题1、2的递归方程

  

3. 结对编程情况

  本次结对编程将较多时间花在了讨论讨论动态规划的思想上,并没有在课堂上完全解决所有实践题目,仍需提高课堂解决问题的效率。与编程伙伴在讨论过程中分别对同一问题进行备忘录方法和和非递归动态规划算法的实操,明白了备忘录方法即使避免了子问题被重复计算,但其递归算法仍然有可能造成栈溢出,因此求解具有最优子结构性质且子问题重叠的问题,最好采用非递归的动态规划算法。

posted @ 2019-11-02 19:52  陈志冠  阅读(164)  评论(0编辑  收藏  举报