A very fast substring search algorithm
Communications of the ACM
A new approach to text searching
Communications of the ACM
Fast text searching: allowing errors
Communications of the ACM
Text algorithms
A fast string searching algorithm
Communications of the ACM
A guided tour to approximate string matching
ACM Computing Surveys (CSUR)
Fast and flexible string matching by combining bit-parallelism and suffix automata
Journal of Experimental Algorithmics (JEA)
NR-grep: a fast and flexible pattern-matching tool
Software—Practice & Experience
Approximate Pattern Matching with Samples
ISAAC '94 Proceedings of the 5th International Symposium on Algorithms and Computation
On Using q-Gram Locations in Approximate String Matching
ESA '95 Proceedings of the Third Annual European Symposium on Algorithms
Multipattern string matching with q-grams
Journal of Experimental Algorithmics (JEA)
Efficient parameterized string matching
Information Processing Letters
Fast exact string matching algorithms
Information Processing Letters
Fast pattern-matching on indeterminate strings
Journal of Discrete Algorithms
A Bit-Parallel Exact String Matching Algorithm for Small Alphabet
FAW '09 Proceedings of the 3d International Workshop on Frontiers in Algorithmics
Average-optimal string matching
Journal of Discrete Algorithms
Improving practical exact string matching
Information Processing Letters
String matching with alphabet sampling
Journal of Discrete Algorithms
Approximate string matching with reduced alphabet
Algorithms and Applications
Fast matching method for DNA sequences
ESCAPE'07 Proceedings of the First international conference on Combinatorics, Algorithms, Probabilistic and Experimental Methodologies
The exact online string matching problem: A review of the most recent results
ACM Computing Surveys (CSUR)
Hi-index | 0.00 |
We develop a new exact bit-parallel string matching algorithm, based on the Shift-Or algorithm (Baeza-Yates & Gonnet, 1992). Assuming that the pattern representation fits into a single computer word, this algorithm has optimal O(n logσm / m) average running time, as well as optimal O(n) worst case running time, where n, m and σ are the sizes of the text, the pattern, and the alphabet, respectively. We also study several implementation details. The experimental results show that our algorithm is the fastest in most of the cases where it can be applied, displacing even the long-standing BNDM (Navarro & Raffinot, 2000) family of algorithms. Finally, we show how to adapt our techniques for the Shift-Add algorithm (Baeza-Yates & Gonnet, 1992), obtaining optimal time for searching under Hamming distance.