对LCS算法的总结:
有字符串X,Y,求X,Y,的最长公共子序列
如asdfg和badcf的最长公共子序列LCS(S1,S2)是adf。
设X长度为m,Y长度为n
Xi = <x1...xi> Yj = <y1...yj> LCS(X,Y) = <z1...zk>
当zk = xm = yn,LCS(Xm,Yn) = LCS(Xm-1,Yn-1)+Xm
当Xm != Ym,LCS(Xm,Yn) = max(LCS(Xm-1,Yn),LCS(Xm,Yn-1))
即
以X = "ABCBDAB"和Y = "BDCABA"为例,过程如下图。