Távolság Damerau és Loewenstein között

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2020. július 31-én felülvizsgált verziótól ; az ellenőrzések 5 szerkesztést igényelnek .

A Damerau-Levenshtein távolság (Frederic Damerau és Vladimir Levenshtein tudósokról kapta a nevét ) a két karaktersorozat közötti különbség mértéke, amely a fordításhoz szükséges beillesztések, törlések, cserék és transzponálások (két szomszédos karakter permutációi) minimális száma. egyik húr a másikba. Ez a Levenshtein távolság módosítása : a karakterek transzponálása (permutációja) hozzáadásra került a Levenshtein távolságban meghatározott karakterek beszúrási, törlési és cseréjéhez.

Algoritmus

A két karakterlánc közötti Damerau-Levenshtein távolságot a következő függvény határozza meg :

ahol az indikátorfüggvény egyenlő nullával at és 1 ellenkező esetben.

Minden rekurzív hívás a következő esetek egyikének felel meg:

Megvalósítások

Lásd még