Table of Contents
Fetching ...

A Simple Representation of Tree Covering Utilizing Balanced Parentheses and Efficient Implementation of Average-Case Optimal RMQs

Kou Hamada, Sankardeep Chakraborty, Seungbum Jo, Takuto Koriyama, Kunihiko Sadakane, Srinivasa Rao Satti

TL;DR

This work proposes a simple representation of tree covering using a balanced parenthesis representation that can be widely utilized for designing practically memory-efficient data structures based on tree covering.

Abstract

Tree covering is a technique for decomposing a tree into smaller-sized trees with desirable properties, and has been employed in various succinct data structures. However, significant hurdles stand in the way of a practical implementation of tree covering: a lot of pointers are used to maintain the tree-covering hierarchy and many indices for tree navigational queries consume theoretically negligible yet practically vast space. To tackle these problems, we propose a simple representation of tree covering using a balanced parenthesis representation. The key to the proposal is the observation that every micro tree splits into at most two intervals on the BP representation. Utilizing the representation, we propose several data structures that represent a tree and its tree cover, which consequently allow micro tree compression with arbitrary coding and efficient tree navigational queries. We also applied our data structure to average-case optimal RMQ by Munro et al.~[ESA 2021] and implemented the RMQ data structure. Our RMQ data structures spend less than $2n$ bits and process queries in a practical time on several settings of the performance evaluation, reducing the gap between theoretical space complexity and actual space consumption. We also implement tree navigational operations while using the same amount of space as the RMQ data structures. We believe the representation can be widely utilized for designing practically memory-efficient data structures based on tree covering.

A Simple Representation of Tree Covering Utilizing Balanced Parentheses and Efficient Implementation of Average-Case Optimal RMQs

TL;DR

This work proposes a simple representation of tree covering using a balanced parenthesis representation that can be widely utilized for designing practically memory-efficient data structures based on tree covering.

Abstract

Tree covering is a technique for decomposing a tree into smaller-sized trees with desirable properties, and has been employed in various succinct data structures. However, significant hurdles stand in the way of a practical implementation of tree covering: a lot of pointers are used to maintain the tree-covering hierarchy and many indices for tree navigational queries consume theoretically negligible yet practically vast space. To tackle these problems, we propose a simple representation of tree covering using a balanced parenthesis representation. The key to the proposal is the observation that every micro tree splits into at most two intervals on the BP representation. Utilizing the representation, we propose several data structures that represent a tree and its tree cover, which consequently allow micro tree compression with arbitrary coding and efficient tree navigational queries. We also applied our data structure to average-case optimal RMQ by Munro et al.~[ESA 2021] and implemented the RMQ data structure. Our RMQ data structures spend less than bits and process queries in a practical time on several settings of the performance evaluation, reducing the gap between theoretical space complexity and actual space consumption. We also implement tree navigational operations while using the same amount of space as the RMQ data structures. We believe the representation can be widely utilized for designing practically memory-efficient data structures based on tree covering.
Paper Structure (43 sections, 14 theorems, 2 equations, 16 figures, 2 tables, 1 algorithm)

This paper contains 43 sections, 14 theorems, 2 equations, 16 figures, 2 tables, 1 algorithm.

Key Result

Proposition 4

The $i$-th opening (resp. closing) parentheses in the BP sequence of a binary tree corresponds to the $i$-th node in the preorder (resp. inorder).

Figures (16)

  • Figure 1: An example of the operations specific to a balanced sequence of parentheses.
  • Figure 2: Examples of the BP encodings of ordinal trees and binary trees.
  • Figure 3: The tree cover of a tree, with parameter $B = 5$.
  • Figure 4: An example of the tree cover of a binary tree with $B = 4$.
  • Figure 5: Possible portal positions in a micro tree, which are indicated by dashed squares.
  • ...and 11 more figures

Theorems & Definitions (20)

  • Definition 1: BP encoding of ordinal trees
  • Definition 2: BP encoding of binary trees
  • Remark 3
  • Proposition 4: Order of parentheses in BP of binary trees
  • Proposition 5: Properties of Tree Covers Farzan2014UniformParadigm
  • Proposition 6: Properties of Binary Tree Decomposition Farzan2014UniformParadigmMunro2021Hypersuccinct
  • Theorem 7
  • Theorem 8
  • Theorem 9
  • Theorem 10
  • ...and 10 more