1. 作业题——单调递增最长子序列
1.1 根据最优子结构性质,列出递归方程式
①b[i] = b[j] + 1, a[i] > a[j]
②max = b[i], max < b[i]
1.2 给出填表法中表的维度、填表范围和填表顺序。
表的维度:一维表
填表范围:[0,n)
填表顺序:由左至右
1.3 分析该算法的时间和空间复杂度
时间复杂度:填表需n,遍历需n,所以时间复杂度为O(n^2)
空间复杂度:一维表,空间复杂度为O(n)
2. 对动态规划算法的理解
动态规划的核心思想:分治——把原问题分解成子问题进行求解。
动态规划适用于:
1.重复子问题——对于不同的问题,有同一个解要求,使用动态规划能避免重复计算子问题,节约了时间。
2.最优子结构——子问题为最优解。
实现动态规划:填表
1.自底向上
2.自顶向下
3. 结对编程情况
上次实验课题目较为简单,提前熟习动态规划的思想并列出递归方程后,很快能解决问题。
浙公网安备 33010602011771号