http://en.wikipedia.org/wiki/Levenshtein_distance
INT LevenshteinDistance (문자들 [1 .. m】, 문자 T [1 .. N]) { / 모든 i와 j, D [I, J]에 /은 Levenshtein 거리 사이를 개최한다 / / S의 우선 문자와 t의 첫 번째 J 문자; D가 가지고있는 / / 메모 (M +1) * (N +1) 값을 선언 INT D [0 .. m, 0 .. N] D / 모든 요소를 선택 취소 / 각 요소를 0으로 설정 / / 소스 접두사에 의해 빈 문자열로 변환 될 수 / / 모든 문자를 삭제 나는 1에서 m은 { D [I, 0] = I } / / 타겟 접두사는 빈 소스 접두어에서 도달 할 수있는 / / 모든 문자를 삽입하여 1에서 n으로 일본에 대한 { D [0, j를] = J } 1에서 n으로 일본에 대한 { 나는 1에서 m은 { 경우의 [I] = t [J]를 / / 문자열 인덱스는 선택한 언어로 1 기반으로하는 가정 것 <-하지 : S 【I-1] = T [J-1] -> / / 다른 당신이 사용해야 할 것 S 【I-1] = T [J-1]이 일을하지 않는 것은 IndexOutOfBound 오류를 throw 할 수 있습니다 D [I, J] : = D [I - 1, J - 1] 필요 / / 아무 작업도하지 그렇지 않으면 D [I, J] : = 최소 ( D [I - 1, J] + 1, / / 삭제 D [I, J - 1] + 1, / / 삽입 D [I - 1, J - 1] + 1 / / 대체 ) } } 반품 D [M, N]
}