m-Bonsai: a Practical Compact Dynamic Trie
Abstract
We consider the problem of implementing a space-efficient dynamic trie, with an emphasis on good practical performance. For a trie with nodes with an alphabet of size , the information-theoretic lower bound is bits. The Bonsai data structure is a compact trie proposed by Darragh et al. (Softw., Pract. Exper. 23(3), 1993, p. 277-291). Its disadvantages include the user having to specify an upper bound on the trie size in advance (which cannot be changed easily after initalization), a space usage of (which is asymptotically non-optimal for smaller or if ) and a lack of support for deletions. It supports traversal and update operations in expected time (based on assumptions about the behaviour of hash functions), where and has excellent speed performance in practice. We propose an alternative, m-Bonsai, that addresses the above problems, obtaining a trie that uses bits in expectation, and supports traversal and update operations in expected time and amortized expected time, for any user-specified parameter (again based on assumptions about the behaviour of hash functions). We give an implementation of m-Bonsai which uses considerably less memory and is slightly faster than the original Bonsai.
Keywords
Cite
@article{arxiv.1704.05682,
title = {m-Bonsai: a Practical Compact Dynamic Trie},
author = {Andreas Poyias and Simon J. Puglisi and Rajeev Raman},
journal= {arXiv preprint arXiv:1704.05682},
year = {2017}
}
Comments
Journal version of SPIRE 2015 paper by Poyias and Raman