DP #09. Minimum Edit Distance. - mbhushan/dynpro GitHub Wiki

(9). Minimum Edit Distance.

Given two strings A & B and operations edit, delete and add, how many minimum 
operations would it take to convert string B to string A.
Formula:

if (A[i] == B[j]) {
    T[i][j] = T[i-1][j-1]
} else {
    T[i][j] = Min (T[i-1][j-1], T[i-1][j], T[i][j-1]) + 1
}

Example Strings:
A = COMMITER
B = COMPUTERS

Min Edit Distance (A, B) = 3
Indexes 0 C O M P U T E R S
0 0 1 2 3 4 5 6 7 8 9
C 1 0 1 2 3 4 5 6 7 8
O 2 1 0 1 2 3 4 5 6 7
M 3 2 1 0 1 2 3 4 5 6
M 4 3 2 1 1 2 3 4 5 6
I 5 4 3 2 2 2 3 4 5 6
T 6 5 4 3 3 3 2 3 4 5
E 7 6 5 4 4 4 3 2 3 4
R 8 7 6 5 5 5 4 3 2 3

Minimum Edit Distance

  • Time complexity is O(m*n)
  • Space complexity is O(m*n)