Zip-Tries: Simple Dynamic Data Structures for Strings
David Eppstein, Ofek Gila, Michael T. Goodrich, Ryuto Kitagawa (University of California, Irvine)

TL;DR
This paper introduces zip-tries, a simple, memory-efficient data structure for strings that supports fast search and update operations, and extends it with parallel and external-memory variants for improved performance on large datasets.
Contribution
The paper presents zip-tries, a novel, simple, and memory-efficient data structure for strings, along with parallel and external-memory adaptations that outperform previous methods.
Findings
Zip-tries support search and update in (k+ n) time.
Zip-tries require (\u001d log n + log rac{k}{\u001d}) bits of metadata per node.
Parallel zip-tries achieve ( log n) span for search and update operations.
Abstract
In this paper, we introduce zip-tries, which are simple, dynamic, memory-efficient data structures for strings. Zip-tries support search and update operations for -length strings in time in the standard RAM model or in time in the word RAM model, where is the length of the longest string that can fit in a memory word, and is the number of strings in the trie. Importantly, we show how zip-tries can achieve this while only requiring bits of metadata per node w.h.p., which is an exponential improvement over previous results for long strings. Despite being considerably simpler and more memory efficient, we show how zip-tries perform competitively with state-of-the-art data structures on large datasets of long strings. Furthermore, we provide a simple, general…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
