DP(2)

来源:互联网 发布:淘宝客服骂人 编辑:程序博客网 时间:2024/05/18 01:56

LCS

最长公共子串

子串连续

step1. 二维矩阵中相同元素取1
   b  a  b

c  0  0  0

a  0  1  0

b  1  0  1

a  0  1  0
则对角线最长为公共子串长度

step2. 对以上矩阵做累计。若左上角为1,元素累加。
   b  a  b

c  0  0  0

a  0  1  0

b  1  0  2

a  0  2  0
则矩阵中,最大的元素为最长公共子串长度。

最长公共子序列

子序列不连续

     G  C  T  A

  0  0  0  0  0

G  0  1  1  1  1

B  0  1  1  1  1

T  0  1  1  2  2

A  0  1  1  2  3

  1. LCS(S1,S2)
  2. LCS(S1,S2)
  3. LCS(S1,S2),c1!=c2; LCS(S1,S2)+1,c1=c2
    以上三者最大值,即为LCS(S1,S2)的值
0 0
原创粉丝点击