String Indexing with Compressed Patterns

Philip Bille, Inge Li Gørtz, Teresa Anna Steiner, Markus Bläser, Christophe Paul
2020 Symposium on Theoretical Aspects of Computer Science  
Given a string S of length n, the classic string indexing problem is to preprocess S into a compact data structure that supports efficient subsequent pattern queries. In this paper we consider the basic variant where the pattern is given in compressed form and the goal is to achieve query time that is fast in terms of the compressed size of the pattern. This captures the common client-server scenario, where a client submits a query and communicates it in compressed form to a server. Instead of
more » ... he server decompressing the query before processing it, we consider how to efficiently process the compressed query directly. Our main result is a novel linear space data structure that achieves near-optimal query time for patterns compressed with the classic Lempel-Ziv 1977 (LZ77) compression scheme. Along the way we develop several data structural techniques of independent interest, including a novel data structure that compactly encodes all LZ77 compressed suffixes of a string in linear space and a general decomposition of tries that reduces the search time from logarithmic in the size of the trie to logarithmic in the length of the pattern.
doi:10.4230/lipics.stacs.2020.10 dblp:conf/stacs/BilleGS20 fatcat:73nxlfr54rbtfiik6grnjkgp6i