算法第三章作业

1、动态规划算法和分治法类似,它的基本思想也是把问题分成若干个子问题,先求解子问题,再从这些子问题的解得到原问题的解,但不同的是,适合用动态规划解决的问题,经过分解成子问题后,这些子问题往往不是相互独立的,如果只是用分治法来求解,那么话费的时间会很多。而动态规划算法则是可以用一个表来记录已经解决了的子问题的答案,从而避免了重复计算,这就节省了很多时间。

2、(1)、先把序列排序,再求最长公共子序列:
           =0 i=0,j=0
            C[i][j]  = c[i-1][j-1]+1 i,j>0;xi=yi;
           =max(c[i][j-1],c[i-1][j])i,j>0;xi!=yi;
     (2)、f[i][j] = min { f[i][k] + f[k][j] }
        其中 i<k<j, 0<=i,j<=n-1

3、结对编程的效果依旧很好,能更快的完成题目。

posted @ 2018-10-28 19:14  Joker灬丶  阅读(112)  评论(0编辑  收藏  举报