Coba jelasin declare int d[0..m, 0..n] dari Jarak Levenshtein dong

set each element in d to zero

// awalan di sumber dapat diubah menjadi string kosong

// dengan menghapus semua karakter

for i from 1 to m:

// awalan di target dapat dicapai dari awalan berupa string kosong

// dengan menyisipkan semua karakter

for j from 1 to n:

for j from 1 to n:

for i from 1 to m:

d[i, j] := minimum(d[i-1, j] + 1,                   // penghapusan

d[i, j-1] + 1,                   // penyisipan

d[i-1, j-1] + substitutionCost)  // subtitusi

return d[m, n]Dua contoh matriks yang dihasilkan (mengarahkan kursor ke nomor yang diberi tag akan mengungkapkan operasi yang dilakukan untuk mendapatkan nomor tersebut):

Iteratif dengan dua baris matriks

Pada pengamatan lebih lanjut, hanya dua baris matriks yang diperlukan untuk menghitung jarak Levenshtein; jika tidak ingin merekonstruksi string input yang diedit. Jarak Levenshtein dapat dihitung secara iteratif menggunakan algoritma berikut:function LevenshteinDistance(char s[0..m-1], char t[0..n-1]):

// bentuk dua vektor kerja dengan jarak integer

declare int v0[n + 1]

declare int v1[n + 1]

// inisialisasi v0 (baris jarak sebelumnya)

// Baris ini setara dengan A[0][i]: jarak edit bagi s yang kosong

// Jaraknya cuma banyaknya karakter yang perlu dihapus dari t

for i from 0 to n: