Communications of the ACM - Special issue on parallelism
A new approach to text searching
Communications of the ACM
Fusion trees can be implemented with AC0 instructions only
Theoretical Computer Science
Faster String Matching with Super-Alphabets
SPIRE 2002 Proceedings of the 9th International Symposium on String Processing and Information Retrieval
Faster algorithms for string matching with k mismatches
Journal of Algorithms - Special issue: SODA 2000
Increased bit-parallelism for approximate and multiple string matching
Journal of Experimental Algorithmics (JEA)
Bit-parallel string matching under Hamming distance in O(n⌈m/w⌉) worst case time
Information Processing Letters
From coding theory to efficient pattern matching
SODA '09 Proceedings of the twentieth Annual ACM-SIAM Symposium on Discrete Algorithms
Broadword implementation of rank/select queries
WEA'08 Proceedings of the 7th international conference on Experimental algorithms
Fast searching in packed strings
Journal of Discrete Algorithms
Faster algorithms for δ,γ-matching and related problems
CPM'05 Proceedings of the 16th annual conference on Combinatorial Pattern Matching
Constant-Time word-size string matching
CPM'12 Proceedings of the 23rd Annual conference on Combinatorial Pattern Matching
European Journal of Combinatorics
Hi-index | 0.89 |
Given strings P of length m and T of length n over an alphabet of size @s, the string matching with k-mismatches problem is to find the positions of all the substrings in T that are at Hamming distance at most k from P. If T can be read only one character at the time the best known bounds are O(nklogk) and O(n+nk/wlogk) in the word-RAM model with word length w. In the RAM models (including AC^0 and word-RAM) it is possible to read up to @?w/log@s@? characters in constant time if the characters of T are encoded using @?log@s@? bits. The only solution for k-mismatches in packed text works in O((nlog@s/logn)@?mlog(k+logn/log@s)/w@?+n^@e) time, for any @e0. We present an algorithm that runs in time O(n@?w/(mlog@s)@?(1+logmin(k,@s)logm/log@s)) in the AC^0 model if m=O(w/log@s) and T is given packed. We also describe a simpler variant that runs in time O(n@?w/(mlog@s)@?logmin(m,logw/log@s)) in the word-RAM model. The algorithms improve the existing bound for w=@W(log^1^+^@en), for any @e0. Based on the introduced technique, we present algorithms for several other approximate matching problems.