第三章总结

1.单调递归最长子序列

1.1 根据最优子结构性质,列出递归方程式

  m[i] :以第i个数为结尾的最长子序列

  m[i] = max { m[j] } + 1

1.2 给出填表法中表的维度、填表范围和填表顺序。

  表的维度为: 一维数组

  填表的范围为:1 <= j < i

  填表的顺序: 从左至右填表

1.3 分析该算法的时间复杂度和空间复杂度

  时间复杂度:

  利用两重循环进行逐一比较,因此算法的时间复杂度为O(n^2)。

  空间复杂度:

  利用一维数组,空间复杂度为n。

2.你对动态规划算法的理解

  动态规划与分治思想相似的是,都是将待求解的问题分解为若干个子问题,通过求解规模更小的子问题,再合并子问题的方式得到原问题的解,不同的是,动态规划所求解的子问题之间不是互相独立的。适用动态规划解决的问题,具有最优子结构性质和重叠子问题性质,而动态规划算法可以使用备忘录或填表的方法,避免大量重复的计算,提高解决问题的效率。

3.说明结对编程的情况。

  在结对编程讨论过程中,我的表达能力得到了提升。对于问题的疑惑,能够通过和队友的交流得到及时有效的沟通和解决,提高了学习效率,同时也增加了学习的兴趣。

posted @ 2020-10-28 13:41  zx02  阅读(84)  评论(0编辑  收藏  举报