算法第三章作业
1.你对动态规划算法的理解
动态规划算法通常用于求解最优解,其思想与分治法有一定的共通之处,思想都是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解,从而得到最优解。
2.分别列出编程题1、2的递归方程
第一题:lis[i] = max( lis[j] + 1, 1 ) x[j] < x[i] && j < i
第二题:dp[a][c] = min(dp[a][b]+dp[b][c],dp[a][c])
3.说明结对编程情况
本次结对编程对比于第一章和第二章时的编程情况会更偏向于个人编程多点,虽然也有进行讨论之后才去一起完成代码,但因为平时比较少接触动态规划的问题,所以会更倾向于个人去理解,从而忽略了合作的重要性,下次结对编程会更注重合作与讨论,让自己对代码和思想的理解更深入。