Abstract
We present a compressed representation of tries based on top tree compression [ICALP 2013] that works on a standard, comparison-based, pointer machine model of computation and supports efficient prefix search queries. Namely, we show how to preprocess a set of strings of total length n over an alphabet of size σ into a compressed data structure of worst-case optimal size O(n/ logσ n) that given a pattern string P of length m determines if P is a prefix of one of the strings in time O(min(m log σ, m + log n)). We show that this query time is in fact optimal regardless of the size of the data structure. Existing solutions either use Ω(n) space or rely on word RAM techniques, such as tabulation, hashing, address arithmetic, or word-level parallelism, and hence do not work on a pointer machine. Our result is the first solution on a pointer machine that achieves worst-case o(n) space. Along the way, we develop several interesting data structures that work on a pointer machine and are of independent interest. These include an optimal data structures for random access to a grammar-compressed string and an optimal data structure for a variant of the level ancestor problem.
Original language | English |
---|---|
Title of host publication | 30th International Symposium on Algorithms and Computation, ISAAC 2019 |
Editors | Pinyan Lu, Guochuan Zhang |
Publisher | Schloss Dagstuhl- Leibniz-Zentrum fur Informatik GmbH, Dagstuhl Publishing |
Pages | 4:1-4:18 |
ISBN (Electronic) | 9783959771306 |
DOIs | |
State | Published - Dec 2019 |
Event | 30th International Symposium on Algorithms and Computation, ISAAC 2019 - Shanghai, China Duration: 8 Dec 2019 → 11 Dec 2019 |
Publication series
Name | Leibniz International Proceedings in Informatics, LIPIcs |
---|---|
Volume | 149 |
ISSN (Print) | 1868-8969 |
Conference
Conference | 30th International Symposium on Algorithms and Computation, ISAAC 2019 |
---|---|
Country/Territory | China |
City | Shanghai |
Period | 8/12/19 → 11/12/19 |
Bibliographical note
Funding Information:Funding Philip Bille: Supported by the Danish Research Council (DFF – 4005-00267, DFF – 1323-00178). Inge Li Gørtz: Supported by the Danish Research Council (DFF – 4005-00267, DFF – 1323-00178). Oren Weimann: Supported by the Israel Science Foundation grant 592/17.
Publisher Copyright:
© Philip Bille, Paweł Gawrychowski, Inge Li Gørtz, Gad M. Landau, and Oren Weimann; licensed under Creative Commons License CC-BY
Keywords
- Pattern matching
- Pointer machine
- Top trees
- Tree compression
ASJC Scopus subject areas
- Software