Abstract. We introduce the first grammar-compressed representation of a sequence that supports searches in time that depends only logarithmically on the size of the grammar. Given a text T [1..u] that is represented by a (context-free) grammar of n (terminal and nonterminal) symbols and size N (measured as the sum of the lengths of the right hands of the rules), a basic grammar-based representation of T takes N lg n bits of space. Our representation requires 2N lg n + N lg u + n lg n + o(N lg n) bits of space, for any 0 < ≤ 1. It can find the positions of the occ occurrences of a pattern of length m in T in O (m 2 / ) lg lg u lg n + occ lg n time, and extract any substring of length of T in time O( + h lg(N/h)), where h is the height of the grammar tree.
In this article we introduce the first (as of the time of conference publication REF , and still the only) grammar-based self-index that can be built from any given grammar of size G, which uses O(G lg n) bits and whose search time depends only logarithmically on n, independently of the grammar height.
Improved Grammar-Based Compressed Indexes
ArXiv
ArXiv
Mathematics Computer Science