Space-Efficient String Indexing for Wildcard Pattern Matching
In this paper we describe compressed indexes that support pattern matching queries for strings with wildcards. For a constant size alphabet our data structure uses O(n.log^e(n)) bits for any e>0 and reports all occ occurrences of a wildcard string in O(m+s^g.M(n)+occ) time, where M(n)=o(log(log(log(n)))), s is the alphabet size, m is the number of alphabet symbols and g is the number of wildcard symbols in the query string. We also present an O(n)-bit index with O((m+s^g+occ).log^e(n)) query time and an O(n{log(log(n))}^2)-bit index with O((m+s^g+occ).log(log(n))) query time. These are the first non-trivial data structures for this problem that need o(n.log(n)) bits of space.
compressed data structures
compressed indexes
pattern matching
506-517
Regular Paper
Moshe
Lewenstein
Moshe Lewenstein
Yakov
Nekrich
Yakov Nekrich
Jeffrey Scott
Vitter
Jeffrey Scott Vitter
10.4230/LIPIcs.STACS.2014.506
Creative Commons Attribution 3.0 Unported license
https://creativecommons.org/licenses/by/3.0/legalcode