An algorithm for the computation of the edit distance of run-length coded strings is given. In run-length coding, not all individual symbols in a string are explicitly listed. Instead, one run of identical consecutive symbols is coded by giving one representative symbol together with its multiplicity. The algorithm determines the minimum cost sequence of edit operations transforming one string into another. In the worst case, the algorithm has a time complexity ofO(n·m), wheren andm give the lengths of the strings to be compared. In the best case, the time complexity isO(k·l), wherek andl are the numbers of runs of identical symbols in the two strings under comparison.ZusammenfassungWir geben einen Algorithmus zur Bestimmung der Ähnlichkeit lauflängencodierter Zeichenketten an. Bei der Lauflängencodierung werden nicht alle Symbole einer Zeichenkette explizit angegeben. Statt dessen wird eine Sequenz identischer aufeinanderfolgender Zeichen durch einen Repräsentanten zusammen mit der Häufigkeit des Auftretens dargestellt. Der Algorithmus bestimmt die Folge von Editieroperationen minimaler Kosten, die eine Zeichenkette in eine andere überführt. Im schlechtesten Fall hat der Algorithmus eine Zeitkomplexität vonO(n·m), wobein undm die Längen der zu vergleichenden Zeichenketten bezeichnen. Die Zeitkomplexität im besten Fall isO(k·l), wobeik undl die Anzahl der Sequenzen gleicher Symbole in den beiden Zeichenketten darstellen.
[1]
Esko Ukkonen,et al.
Algorithms for Approximate String Matching
,
1985,
Inf. Control..
[2]
Horst Bunke,et al.
Advances In Structural And Syntactic Pattern Recognition
,
1993
.
[3]
Graham A Stephen,et al.
Approximate String Matching
,
1994,
Encyclopedia of Algorithms.
[4]
Sargur N. Srihari,et al.
Computer Text Recognition and Error Correction
,
1985
.
[5]
David Sankoff,et al.
Time Warps, String Edits, and Macromolecules: The Theory and Practice of Sequence Comparison
,
1983
.
[6]
Alfred V. Aho,et al.
Algorithms for Finding Patterns in Strings
,
1991,
Handbook of Theoretical Computer Science, Volume A: Algorithms and Complexity.
[7]
Mike Paterson,et al.
A Faster Algorithm Computing String Edit Distances
,
1980,
J. Comput. Syst. Sci..
[8]
Vladimir I. Levenshtein,et al.
Binary codes capable of correcting deletions, insertions, and reversals
,
1965
.
[9]
Michael J. Fischer,et al.
The String-to-String Correction Problem
,
1974,
JACM.
[10]
Thomas G. Szymanski,et al.
A fast algorithm for computing longest common subsequences
,
1977,
CACM.