Fully Functional Static and Dynamic Succinct Trees

We propose new succinct representations of ordinal trees and match various space/time lower bounds. It is known that any <i>n</i>-node static tree can be represented in 2<i>n</i> + <i>o</i>(<i>n</i>) bits so that 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 <i>range min-max tree</i>, 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 polylog-sized trees. The result is extended to trees of arbitrary size, retaining constant time and reaching 2<i>n</i> + <i>O</i>(<i>n</i>/polylog(<i>n</i>)) bits of space. This space is optimal for a core subset of the operations supported and significantly lower than in any previous proposal. For the dynamic case, where insertion/deletion (indels) of nodes is allowed, the existing data structures support a very limited set of operations. Our data structure builds on the range min-max tree to achieve 2<i>n</i> + <i>O</i>(<i>n</i>/log <i>n</i>) bits of space and <i>O</i>(log <i>n</i>) time for all operations supported in the static scenario, plus indels. We also propose an improved data structure using 2<i>n</i> + <i>O</i>(<i>n</i>log log <i>n</i>/log <i>n</i>) bits and improving the time to the optimal <i>O</i>(log <i>n</i>/log log <i>n</i>) for most operations. We extend our support to forests, where whole subtrees can be attached to or detached from others, in time <i>O</i>(log<sup>1+ε</sup> <i>n</i>) for any ε > 0. Such operations had not been considered before. Our techniques are of independent interest. An immediate derivation yields an improved solution to range minimum/maximum queries where consecutive elements differ by ± 1, achieving <i>n</i> + <i>O</i>(<i>n</i>/polylog(<i>n</i>)) bits of space. A second one stores an array of numbers supporting operations <i>sum</i> and <i>search</i> and limited updates, in optimal time <i>O</i>(log <i>n</i>/log log <i>n</i>). A third one allows representing dynamic bitmaps and sequences over alphabets of size σ, supporting rank/select and indels, within zero-order entropy bounds and time <i>O</i>(log <i>n</i> log σ/(log log <i>n</i>)<sup>2</sup>) for all operations. This time is the optimal <i>O</i>(log <i>n</i>/log log <i>n</i>) on bitmaps and polylog-sized alphabets. 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.

[1]  Erik D. Demaine,et al.  Logarithmic Lower Bounds in the Cell-Probe Model , 2005, SIAM J. Comput..

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

[3]  S. Srinivasa Rao,et al.  Succinct Dynamic Cardinal Trees with Constant Time Operations for Small Alphabet , 2011, TAMC.

[4]  Mikkel Thorup,et al.  Time-space trade-offs for predecessor search , 2006, STOC '06.

[5]  Emanuele Viola,et al.  Cell-probe lower bounds for succinct partial sums , 2010, SODA '10.

[6]  Johannes Fischer,et al.  Optimal Succinctness for Range Minimum Queries , 2008, LATIN.

[7]  Gonzalo Navarro,et al.  Rank and select revisited and extended , 2007, Theor. Comput. Sci..

[8]  J. Ian Munro,et al.  Succinct Representations of Dynamic Strings , 2010, SPIRE.

[9]  Rasmus Pagh Low Redundancy in Static Dictionaries with Constant Query Time , 2001, SIAM J. Comput..

[10]  Volker Heun,et al.  Range Median of Minima Queries, Super-Cartesian Trees, and Text Indexing , 2008, IWOCA.

[11]  S. Srinivasa Rao,et al.  Succinct Representations of Functions , 2004, ICALP.

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

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

[14]  Rodrigo González,et al.  Rank/select on dynamic compressed sequences and applications , 2009, Theor. Comput. Sci..

[15]  Rajeev Raman,et al.  Succinct Representations of Binary Trees for Range Minimum Queries , 2012, COCOON.

[16]  Michael E. Saks,et al.  The cell probe complexity of dynamic data structures , 1989, STOC '89.

[17]  Hsueh-I Lu,et al.  Balanced parentheses strike back , 2008, TALG.

[18]  Stelios Joannou,et al.  Dynamizing Succinct Tree Representations , 2012, SEA.

[19]  Naila Rahman,et al.  A simple optimal representation for balanced parentheses , 2004, Theor. Comput. Sci..

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

[21]  Fabrizio Luccio,et al.  Compressing and indexing labeled trees, with applications , 2009, JACM.

[22]  Roberto Grossi,et al.  High-order entropy-compressed text indexes , 2003, SODA '03.

[23]  Gonzalo Navarro,et al.  Optimal Dynamic Sequence Representations , 2014, SIAM J. Comput..

[24]  Kunihiko Sadakane,et al.  Compressed Suffix Trees with Full Functionality , 2007, Theory of Computing Systems.

[25]  Michael A. Bender,et al.  The LCA Problem Revisited , 2000, LATIN.

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

[27]  Kunihiko Sadakane,et al.  A Linear-Time Burrows-Wheeler Transform Using Induced Sorting , 2009, SPIRE.

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

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

[30]  Jérémy Barbay,et al.  LRM-Trees: Compressed indices, adaptive sorting, and compressed permutations , 2010, Theor. Comput. Sci..

[31]  Rajeev Raman,et al.  Succinct Dynamic Data Structures , 2001, WADS.

[32]  Gonzalo Navarro,et al.  Fully-functional succinct trees , 2010, SODA '10.

[33]  S. Srinivasa Rao,et al.  Succinct indexes for strings, binary relations and multilabeled trees , 2011, TALG.

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

[35]  J. IAN MUNRO,et al.  An Implicit Data Structure Supporting Insertion, Deletion, and Search in O(log² n) Time , 1986, J. Comput. Syst. Sci..

[36]  J. Ian Munro,et al.  A Uniform Approach Towards Succinct Representation of Trees , 2008, SWAT.

[37]  Kunihiko Sadakane,et al.  Ultra-succinct representation of ordered trees with applications , 2012, J. Comput. Syst. Sci..

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

[39]  John L. Smith Tables , 1969, Neuromuscular Disorders.

[40]  Kunihiko Sadakane,et al.  Succinct representations of lcp information and improvements in the compressed suffix arrays , 2002, SODA '02.

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

[42]  Naila Rahman,et al.  Engineering the LOUDS Succinct Tree Representation , 2006, WEA.

[43]  S. Srinivasa Rao,et al.  Space Efficient Suffix Trees , 1998, J. Algorithms.

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

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

[46]  Michael L. Fredman,et al.  Surpassing the Information Theoretic Bound with Fusion Trees , 1993, J. Comput. Syst. Sci..

[47]  Wing-Kai Hon,et al.  Breaking a Time-and-Space Barrier in Constructing Full-Text Indices , 2009, SIAM J. Comput..

[48]  Gonzalo Navarro,et al.  Wavelet trees for all , 2012, J. Discrete Algorithms.

[49]  Yi-Ting Chiang,et al.  Orderly Spanning Trees with Applications , 2001, SIAM J. Comput..

[50]  Gonzalo Navarro,et al.  Succinct Trees in Practice , 2010, ALENEX.

[51]  Rajeev Raman,et al.  Universal Succinct Representations of Trees? , 2009, ICALP.

[52]  Jean Vuillemin,et al.  A unifying look at data structures , 1980, CACM.

[53]  Michael A. Bender,et al.  The Level Ancestor Problem Simplified , 2002, LATIN.

[54]  J. Ian Munro,et al.  Succinct representation of dynamic trees , 2011, Theor. Comput. Sci..

[55]  Diego Arroyuelo,et al.  An Improved Succinct Representation for Dynamic k-ary Trees , 2008, CPM.

[56]  S. Srinivasa Rao,et al.  Succinct ordinal trees based on tree covering , 2012, TALG.

[57]  Rajeev Raman,et al.  Succinct indexable dictionaries with applications to encoding k-ary trees, prefix sums and multisets , 2007, ACM Trans. Algorithms.

[58]  Rudolf Fleischer A Simple Balanced Search Tree with O(1) Worst-Case Update Time , 1996, Int. J. Found. Comput. Sci..

[59]  Volker Heun,et al.  A New Succinct Representation of RMQ-Information and Improvements in the Enhanced Suffix Array , 2007, ESCAPE.

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

[61]  Gonzalo Navarro,et al.  Practical Compressed Suffix Trees , 2010, SEA.

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

[63]  Mihai Patrascu Lower bounds for 2-dimensional range counting , 2007, STOC '07.

[64]  Rajeev Raman,et al.  On the Size of Succinct Indices , 2007, ESA.

[65]  Kunihiko Sadakane,et al.  Succinct data structures for flexible text retrieval systems , 2007, J. Discrete Algorithms.