An Improved Succinct Representation for Dynamic k-ary Trees

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 parent and child in 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 + i¾?), for i¾?> 0, from Raman and Rao [21]), at the cost of slower basic operations (in O(loglogn) time, versus O(1) time of [21]).

[1]  Gonzalo Navarro,et al.  Space-Efficient Construction of LZ-Index , 2005, ISAAC.

[2]  Rajeev Raman,et al.  Representing Trees of Higher Degree , 2005, Algorithmica.

[3]  Wing-Kai Hon,et al.  Compressed indexes for dynamic text collections , 2007, TALG.

[4]  Rajeev Raman,et al.  Succinct Dynamic Dictionaries and Trees , 2003, ICALP.

[5]  Giovanni Manzini,et al.  An analysis of the Burrows-Wheeler transform , 2001, SODA '99.

[6]  Robin Milner,et al.  On Observing Nondeterminism and Concurrency , 1980, ICALP.

[7]  J. Ian Munro,et al.  Succinct Representation of Balanced Parentheses and Static Trees , 2002, SIAM J. Comput..

[8]  Guy Jacobson,et al.  Space-efficient static trees and graphs , 1989, 30th Annual Symposium on Foundations of Computer Science.

[9]  Rajeev Raman,et al.  Succinct ordinal trees with level-ancestor queries , 2004, SODA '04.

[10]  S. Srinivasa Rao,et al.  Succinct indexes for strings, binary relations and multi-labeled trees , 2007, SODA '07.

[11]  Rajeev Raman,et al.  Succinct indexable dictionaries with applications to encoding k-ary trees and multisets , 2002, SODA '02.

[12]  Niklaus Wirth,et al.  Algorithms and Data Structures , 1989, Lecture Notes in Computer Science.

[13]  Z. Galil,et al.  Combinatorial Algorithms on Words , 1985 .

[14]  Alberto Apostolico,et al.  The Myriad Virtues of Subword Trees , 1985 .

[15]  Fabrizio Luccio,et al.  Structuring labeled trees for optimal succinctness, and beyond , 2005, 46th Annual IEEE Symposium on Foundations of Computer Science (FOCS'05).

[16]  Gonzalo Navarro,et al.  A Lempel-Ziv Text Index on Secondary Storage , 2007, CPM.

[17]  Erik D. Demaine,et al.  Resizable Arrays in Optimal Time and Space , 1999, WADS.

[18]  Wing-Kai Hon,et al.  Succinct Data Structures for Searchable Partial Sums , 2003, ISAAC.

[19]  Rodrigo González,et al.  Improved Dynamic Rank-Select Entropy-Bound Structures , 2008, LATIN.

[20]  Venkatesh Raman,et al.  Representing dynamic binary trees succinctly , 2001, SODA '01.

[21]  Erkki Mäkinen,et al.  Tree Compression and Optimization with Applications , 1990, Int. J. Found. Comput. Sci..

[22]  Gonzalo Navarro,et al.  Dynamic entropy-compressed sequences and full-text indexes , 2006, TALG.

[23]  Gonzalo Navarro,et al.  Compressed representations of sequences and full-text indexes , 2007, TALG.

[24]  Gonzalo Navarro,et al.  Compressed full-text indexes , 2007, CSUR.

[25]  Kunihiko Sadakane,et al.  Ultra-succinct representation of ordered trees , 2007, SODA '07.