An Improved Succinct Representation for Dynamic k-ary Trees

  • Authors:
  • Diego Arroyuelo

  • Affiliations:
  • Dept. of Computer Science, University of Chile,

  • Venue:
  • CPM '08 Proceedings of the 19th annual symposium on Combinatorial Pattern Matching
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

k-ary treesare a fundamental data structure in many text-processing algorithms (e.g., text searching). The traditional pointer-based representation of trees is space consuming, and hence only relatively small trees can be kept in main memory. Nowadays, however, many applications need to store a huge amount of information. In this paper we present a succinctrepresentation for dynamic k-ary trees of nnodes, requiring 2n+ nlogk+ o(nlogk) bits of space, which is close to the information-theoretic lower bound. Unlike alternative representations where the operations on the tree can be usually computed in O(logn) time, our data structure is able to take advantage of asymptotically smaller values of k, supporting the basic operations parentand childin O(logk+ loglogn) time, which is o(logn) time whenever logk= o(logn). Insertions and deletions of leaves in the tree are supported in $O((\log{k}+\log\log{n})(1+\frac{\log{k}}{\log{(\log{k} + \log\log{n})}}))$ amortized time. Our representation also supports more specialized operations (like subtreesize, depth, etc.), and provides a new trade-off when k= O(1) allowing faster updates (in O(loglogn) amortized time, versus the amortized time of O((loglogn)1 + 茂戮驴), for 茂戮驴 0, from Raman and Rao [21]), at the cost of slower basic operations (in O(loglogn) time, versus O(1) time of [21]).