Fully-Functional Static and Dynamic Succinct Trees

Abstract

We propose new succinct representations of ordinal trees, which have been studied extensively. It is known that any n-node static tree can be represented in 2n + o(n) bits and a number of operations on the tree can be supported in constant time under the word-RAM model. However the data structures are complicated and difficult to dynamize. We propose a simple and flexible data structure, called the range min-max tree, that reduces the large number of relevant tree operations considered in the literature to a few primitives that are carried out in constant time on sufficiently small trees. The result is extended to trees of arbitrary size, achieving 2n + O(n /(n)) bits of space. The redundancy is significantly lower than any previous proposal. Our data structure builds on the range min-max tree to achieve 2n+O(n/ n) bits of space and O( n) time for all the operations. We also propose an improved data structure using 2n+O(n n/ n) bits and improving the time to the optimal O( n/ n) for most operations. Furthermore, we support sophisticated operations that allow attaching and detaching whole subtrees, in time (1+ε n / n). Our techniques are of independent interest. One allows representing dynamic bitmaps and sequences supporting rank/select and indels, within zero-order entropy bounds and optimal time O( n / n) for all operations on bitmaps and polylog-sized alphabets, and O( n σ / ( n)2) on larger alphabet sizes σ. This improves upon the best existing bounds for entropy-bounded storage of dynamic sequences, compressed full-text self-indexes, and compressed-space construction of the Burrows-Wheeler transform.

0

Turn this paper into a lesson

ArcXiv compiles a structured reading guide from this paper's metadata: plain-English importance, contributions, prerequisite concepts, which sections to read first, flashcards, and a quiz. Grounded in the abstract, never invented.

Discussion (0)

Sign in to join the discussion.

Loading comments…