算法第三章作业
1.单调递增最长子序列
1.1 递归方程式
设长度为N的数组为{a0,a1, a2, ...an-1},假定以aj结尾的数组序列的最长递增子序列长度为L(j),b(j)={ max(b(i))+1, i<j且a[i]<a[j] }。
1.2填表法中表的维度、填表范围和填表顺序
填表法中表的维度为一维b[n],填表范围1~n,填表顺序从左到右。
1.3
时间复杂度:O(n^2) 空间复杂度:O(n)
2.对动态规划算法的理解
动态规划思想与分治法类似,都是将问题分解为多个子问题,通过求解子问题来得到最终答案,而动态规划的优势在于,动态规划防止了子问题的重复计算,每个问题只计算一次,自底向上地求出原问题的解。
3. 说明结对编程情况
对于结对编程,我们偏向于先讨论解决问题的方法,然后各自写代码,在遇到困难的地方,向同伴寻求帮助。