1. 单调递增最长子序列

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

  设a[ ]存放输入的一组数,b[ ]存放单调递增子序列的长度,max为b[ ]中最大元素以得到最长单调递增子序列的长度

  递归方程式:   b[ i ] = b[ j ] + 1,  a[ i ] > a[ j ] && b[ i ] < b[ j ] + 1

                         max = b[ i ] ,  max < b[ i ]

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

  表的维度:一维

  填表范围:[1, n]

  填表顺序:从a[ 0 ] 到 a[ n ],从左到右

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

  时间复杂度:填表b[ ]过程中从左到右遍历数组所需时间的量级为n,填表完成后比较得到b[ ]最大值所需时间的量级也为n,所以时间复杂度为 O(n^2)

  空间复杂度:填表法中表的维度为一维,且表长为n,所以空间复杂度为O(n)

 

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

  动态规划算法与分治法类似,都是将待求解问题分解为若干个子问题,求解子问题并合并,从而得到原问题的解

  但是动态规划算法针对的是子问题之间并不相互独立,有些子问题被重复计算的问题,如一系列最优化问题

  运用动态规划算法时,我们创建一个表格用于保存已解决子问题的答案,在需要时找出已求得的答案

 

3. 结对编程情况

 

  上周结对编程情况进展顺利,实验课效率加快不少,向老师讲解题目时更加有条不紊,与编程伙伴的分工更加细致,深入学习了解了动态规划算法

 

 

 

 

posted on 2020-10-31 08:28  Sarefina  阅读(68)  评论(0)    收藏  举报