Theoretical Computer Science
A very fast substring search algorithm
Communications of the ACM
A new approach to text searching
Communications of the ACM
A variation on the Boyer-Moore algorithm
Theoretical Computer Science - Selected papers of the Combinatorial Pattern Matching School
Software—Practice & Experience
Text algorithms
Automata for matching patterns
Handbook of formal languages, vol. 2
Off-line serial exact string searching
Pattern matching algorithms
Simple optimal string matching algorithm
Journal of Algorithms
A fast string searching algorithm
Communications of the ACM
Fast and flexible string matching by combining bit-parallelism and suffix automata
Journal of Experimental Algorithmics (JEA)
Flexible pattern matching in strings: practical on-line search algorithms for texts and biological sequences
Reducing space for index implementation
Theoretical Computer Science
A Very Fast String Matching Algorithm for Small Alphabeths and Long Patterns (Extended Abstract)
CPM '98 Proceedings of the 9th Annual Symposium on Combinatorial Pattern Matching
Handbook of Exact String Matching Algorithms
Handbook of Exact String Matching Algorithms
ICANNGA '07 Proceedings of the 8th international conference on Adaptive and Natural Computing Algorithms, Part II
GRASPm: an efficient algorithm for exact pattern-matching in genomic sequences
International Journal of Bioinformatics Research and Applications
Improving practical exact string matching
Information Processing Letters
Bit-(parallelism)2: getting to the next level of parallelism
FUN'10 Proceedings of the 5th international conference on Fun with algorithms
Bit-parallel search algorithms for long patterns
SEA'10 Proceedings of the 9th international conference on Experimental Algorithms
The exact online string matching problem: A review of the most recent results
ACM Computing Surveys (CSUR)
Hi-index | 5.24 |
Generally, current string matching algorithms make use of a window whose size is equal to pattern length. In this paper, we present a novel string matching algorithm named WW (for Wide Window) algorithm, which divides the text into [n/m] overlapping windows of size 2m - 1. In the windows, the algorithm attempts m possible occurrence positions in parallel. It firstly searches pattern suffixes from middle to right with a forward suffix automaton, shifts the window directly when it fails, otherwise, scans the corresponding prefixes backward with a reverse prefix automaton. Theoretical analysis shows that WW has optimal time complexity of O(n) in the worst, O(n/m) best and O(n(logσm)/m) for average case. Experimental comparison of WW with existing algorithms validates our theoretical claims for searching long patterns. It further reveals that WW is also efficient for searching short patterns.