เมนูนำทาง
Damerau–Levenshtein_distance รหัสเทียมเพิ่มการกระทำจาก Levenshtein edit distance เข้าไปอีกหนึ่งการกระทำ ดังนี้
if(i > 1 and j > 1 and str1[i] = str2[j-1] and str1[i-1] = str2[j]) then d[i, j] := minimum( d[i, j], d[i-2, j-2] + cost // transposition )
จะได้รหัสเทียมที่สมบูรณ์เป็น
int LevenshteinDistance(char s[1..m], char t[1..n]){ // สำหรับทุกๆค่า i และ j, d[i,j] จะแสดงค่าความแตกต่างระหว่างอักขระ i ตัวแรกของ s และ อักขระ j ตัวแรกของ t สังเกตว่า แถวลำดับ d จะมีขนาด (m+1)x(n+1) declare int d[0..m, 0..n] for i from 0 to m d[i, 0] := i // ค่าความแตกต่างระหว่างข้อความแรกใดๆ กับ ข้อความที่สองที่ว่างเปล่า for j from 0 to n d[0, j] := j // ค่าความแตกต่างระหว่างข้อความที่สองใดๆ กับ ข้อความแรกที่ว่างเปล่า for j from 1 to n { for i from 1 to m { if s[i] = t[j] then d[i, j] := d[i-1, j-1] // พิจารณาตัวถัดมา else d[i, j] := minimum ( d[i-1, j] + 1, // การตัดออก d[i, j-1] + 1, // การแทรก d[i-1, j-1] + 1 // การแทนที่ ) if(i > 1 and j > 1 and s[i] = t[j-1] and s[i-1] = t[j]) then d[i, j] := minimum( d[i, j], d[i-2, j-2] + cost // การสลับอักขระ ) } } return d[m,n]}
เมนูนำทาง
Damerau–Levenshtein_distance รหัสเทียมใกล้เคียง
Damerau–Levenshtein distance Damrong Rajanubhab Dame Helen Mirren Daler Kuzyayev Dammera Das Ersteแหล่งที่มา
WikiPedia: Damerau–Levenshtein_distance http://www.artfulsoftware.com/infotree/queries.php... http://codejanitor.com/wp/2007/02/10/levenshtein-d... http://www.codethinked.com/post/2010/02/25/NET-40-... http://gist.github.com/182759 http://joshdrew.com/ http://frej.sf.net http://mwh.geek.nz/2009/04/26/python-damerau-leven... http://www.sherlocksoftware.org/page.php?id=58 http://itman.narod.ru/english/ir/index.html