1.问题
给定序列
X=<x_1,x_2,…,x_m>
Y=<y_1,y_2,…,y_j>
求X和Y的最长公共子序列(LCS)
2.解析
X=<x1,x2,x3,x4…,xi>
Y=<y1,y2,y3,y4…,yi>
如果Z=<z1,z2,z3,z4…,zk>是他们的最长公共子序列
则:
(1)xi = yi,则zk= xi= yj 且 Z(k-1)是X(i-1)和Y(j-1)的最长公共子序列
(2)xi≠yi 且 zk≠xi,则Zk是X(i-1)和Yj的最长公共子序列
(3)xi≠yi 且 zk≠yj,则Zk是Xi和Y(j-1)的最长公共子序列
3.设计
4.分析
时间复杂度O(mn)