Earlier publications provided an abstract specification of a family of single keyword pattern matching algorithms [18] which search unexamined portions of the text in a divide-and-conquer fashion, generating dead-zones in the text as they progress. These dead zones are area of text that require no further examination. Here the results are described of implementing in C++ a sequential recursive version of the algorithm family, where all instances of a single keyword p in a text S are sought-the online keyword matching problem where S may not be precomputed. We show that each step may involve a window shift of up to 2 x |p| - 1 characters-almost twice as much (and therefore potentially almost twice as fast) as the maximum of characters possible with the Boyer-Moore family of algorithms. Our counterintuitive improvement over Boyer-Moore algorithms is achieved by simultaneously shifting left and right. Ongoing benchmarking shows [12] that such bidirectional shifts are highly efficient-and we make specific comparisons here to Horspool's algorithm [9], regarded as one of the most efficient algorithms of the Boyer-Moore family. © 2012 Springer-Verlag.
CITATION STYLE
Watson, B. W., Kourie, D. G., & Strauss, T. (2012). A sequential recursive implementation of dead-zone single keyword pattern matching. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 7643 LNCS, pp. 236–248). https://doi.org/10.1007/978-3-642-35926-2_26
Mendeley helps you to discover research relevant for your work.