Chapter

Foundations of Computation Theory

Volume 158 of the series Lecture Notes in Computer Science pp 487-495

Date:

On approximate string matching

  • Esko UkkonenAffiliated withDepartment of Computer Science, University of Helsinki

* Final gross prices may vary according to local VAT.

Get Access

Abstract

An algorithm is given for computing the edit distance as well as the corresponding sequence of editing steps (insertions, deletions, changes, transpositions of adjacent symbols) between two strings a1a2...am and b1b2...bn. The algorithm needs time 0(s·min(m,n)) and space 0(s2) where s is the edit distance, that is, the minimum number of editing steps needed to transform a1a2...am to b1b2...bn. For small s this is a considerable improvement over the best previously known algorithm that needs time and space 0(mn). If the editing sequence is not required, the space complexity of our algorithm reduces to 0(s). Given a threshold value t, the algorithm can also be modified to test in time 0(t·min(m,n)) and space 0(t) whether the edit distance of the two strings is at most t.