本周对上周学习的动态规划算法进行了回顾。动态规划算法的基本步骤是找出最优解的性质,并刻画其结构特征,根据多个阶段状态的关系,递归地定义最优值,根据递归方程,以自底而上的方式递推,计算出最优值,根据计算最优值时得到的信息,构造最优解。动态规划算法的基本要素是最优子结构和重叠子问题。
本周了解到了最长公共子序列:给定序列X、Y和Z,称Z是X和Y的最长公共子序列是指Z是X和Y的公共子序列,且对于其他任意公共子序列W,都有|W|<=|Z|。记为LCS(X,Y)。最长公共子序列一般不止一个。其次还了解到了最长公共子序列的最优子结构以及最长公共子序列的结构、子问题的递归结构、计算最优值以及如何构造最优解。
本周进行了使用动态规划实现最长公共子序列的问题以及使用动态规划三种算法实现最大字段和问题。
收获满满,发现的问题很有,有待提升!