动态规划之字符串比对最小mismatch数量

2018/02/20 Algorithms 共 347 字,约 1 分钟

Edit Distance (mismatch的位数)

最小mismatch数量

If x[i]=x[j] then diff(i, j)=0, otherwise diff(i, j)=1.

E(i,j)=min{1+E(i-1,j),1+E(i,j-1),diff(i,j)+E(i-1,j-1)}

E(0, j)=j. 
E(i, 0)=i.

DPEditDis(x[1..m], y[1..n])
For i=0 to m do
        E(i, 0)=i;
2. For j=1 to n do
        E(0,j)=j;
//初始化
3. For i=1 to m do   //以行序计算
      for j=1 to n do
        E(i,j)=min{E(i-1,j)+1, E(i,j-1)+1, 
                        E(i-1,j-1)+diff(i, j)} 
4. Return E(m,n).

Running time: O(mn)

Search

    Table of Contents