We present a new string matching algorithm linear in the worst case (in O(m + n) where n is the size of the text and m the size of the searched word, both taken on an alphabet Σ) and optimal on average (with equiprobability and independence of letters, in O(m + n logΣ m/m)). Of all the algorithms that verify these two complexities, our is the simplest since it uses only a single structure, a suffix automaton. Moreover, its preprocessing phase is linearly dynamical, i.e. it is possible to search the words p1, then p1p2, p1p2p3,…, p1p2p3… pi with O(Σpi) total preprocessing time. Among the algorithms that verify this property (for instance the Knuth-Morris-Pratt) our algorithm is the only one to be optimal on average. © Springer-Verlag Berlin Heidelberg 2000.
CITATION STYLE
Allauzen, C., & Raffinot, M. (2000). Simple optimal string matching algorithm (Extended Abstract). Lecture Notes in Computer Science (Including Subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 1848, 364–374.
Mendeley helps you to discover research relevant for your work.