# Top Tree Compression of Tries

**Authors:** Philip Bille, Inge Li G{\o}rtz, Pawe{\l} Gawrychowski, Gad M. Landau,, and Oren Weimann

arXiv: 1902.02187 · 2019-09-23

## TL;DR

This paper introduces a novel top tree compression method for tries that operates efficiently on a pointer machine, achieving optimal space and query time for prefix searches without relying on advanced RAM techniques.

## Contribution

It presents the first pointer machine-compatible compressed trie structure with worst-case optimal size and query time, along with new data structures for grammar-compressed string access and level ancestor problems.

## Key findings

- Achieves $O(n/\log_\sigma n)$ space complexity.
- Supports prefix search in $O(\min(m\log \sigma,m + \log n))$ time.
- First pointer machine solution with sublinear space and optimal query performance.

## 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 $\sigma$ into a compressed data structure of worst-case optimal size $O(n/\log_\sigma 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 \sigma,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 $\Omega(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.

## Full text

_Full body text omitted from this summary view._ Fetch the complete paper as Markdown: https://tomesphere.com/paper/1902.02187/full.md

## Figures

5 figures with captions in the complete paper: https://tomesphere.com/paper/1902.02187/full.md

## References

63 references — full list in the complete paper: https://tomesphere.com/paper/1902.02187/full.md

---
Source: https://tomesphere.com/paper/1902.02187