Academia.eduAcademia.edu

On Succinct Representations of Binary Trees

2017, Mathematics in Computer Science

Abstract

We observe that a standard transformation between ordinal trees (arbitrary rooted trees with ordered children) and binary trees leads to interesting succinct binary tree representations. There are four symmetric versions of these transformations. Via these transformations we get four succinct representations of n-node binary trees that use 2n + n/(log n) Θ(1) bits and support (among other operations) navigation, inorder numbering, one of preorder or postorder numbering, subtree size and lowest common ancestor (LCA) queries. While this functionality, and more, is also supported in O(1) time using 2n + o(n) bits by Davoodi et al.'s (Phil. Trans. Royal Soc. A 372 (2014)) extension of a representation by Farzan and Munro (Algorithmica 6 (2014)), their redundancy, or the o(n) term, is much larger, and their approach may not be suitable for practical implementations. One of these transformations is related to the Zaks' sequence (S. Zaks, Theor. Comput. Sci. 10 (1980)) for encoding binary trees, and we thus provide the first succinct binary tree representation based on Zaks' sequence. The ability to support inorder numbering is crucial for the well-known range-minimum query (RMQ) problem on an array A of n ordered values. Another of these transformations is equivalent to Fischer and Heun's (SIAM J. Comput. 40 (2011)) 2d-Min-Heap structure for this problem. Yet another variant allows an encoding of the Cartesian tree of A to be constructed from A using only O(√ n log n) bits of working space.