m-Bonsai: A Practical Compact Dynamic Trie
2018; World Scientific; Volume: 29; Issue: 08 Linguagem: Inglês
10.1142/s0129054118430025
ISSN1793-6373
AutoresAndreas Poyias, Simon J. Puglisi, Rajeev Raman,
Tópico(s)Error Correcting Code Techniques
ResumoWe consider the problem of implementing a space-efficient dynamic trie, with an emphasis on good practical performance. For a trie with [Formula: see text] nodes with an alphabet of size [Formula: see text], the information-theoretic space lower bound is [Formula: see text] bits. The Bonsai data structure is a compact trie proposed by Darragh et al. (Softw. Pract. Exper. 23(3) (1993) 277–291). Its disadvantages include the user having to specify an upper bound [Formula: see text] on the trie size in advance (which cannot be changed easily after initalization), a space usage of [Formula: see text] (which is asymptotically non-optimal for smaller [Formula: see text] or if [Formula: see text]) and a lack of support for deletions. It supports traversal and update operations in [Formula: see text] expected time (based on assumptions about the behaviour of hash functions), where [Formula: see text] and has excellent speed performance in practice. We propose an alternative, m-Bonsai, that addresses the above problems, obtaining a trie that uses [Formula: see text] bits in expectation, and supports traversal and update operations in [Formula: see text] expected time and [Formula: see text] amortized expected time, for any user-specified parameter [Formula: see text] (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.
Referência(s)