Abstract
We propose new succinct representations of ordinal trees and match various space/time lower bounds. It is known that any n-node static tree can be represented in 2n + o(n) 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 range min-max tree, 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 2n + O(n/polylog(n)) 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 2n + O(n/log n) bits of space and O(log n) time for all operations supported in the static scenario, plus indels. We also propose an improved data structure using 2n + O(nlog log n/log n) bits and improving the time to the optimal O(log n/log log n) for most operations. We extend our support to forests, where whole subtrees can be attached to or detached from others, in time O(log1+ϵ n) 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 n + O(n/polylog(n)) bits of space. A second one stores an array of numbers supporting operations sum and search and limited updates, in optimal time O(log n/log log n). 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 O(log n log σ/(log log n)2) for all operations. This time is the optimal O(log n/log log n) 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.
- D. Arroyuelo. 2008. An improved succinct representation for dynamic k-ary trees. In Proceedings of the 19th Annual Symposium on Combinatorial Pattern Matching (CPM). LNCS 5029. 277--289. Google ScholarDigital Library
- D. Arroyuelo, R. Cánovas, G. Navarro, and K. Sadakane. 2010. Succinct trees in practice. In Proceedings of the 11th Workshop on Algorithm Engineering and Experiments (ALENEX). 84--97.Google Scholar
- J. Barbay, J. Fischer, and G. Navarro. 2011a. LRM-Trees: Compressed indices, adaptive sorting, and compressed permutations. In Proceedings of the 22nd Annual Symposium on Combinatorial Pattern Matching (CPM). LNCS 6661. 285--298. Google ScholarDigital Library
- J. Barbay, M. He, J. I. Munro, and S. S. Rao. 2011b. Succinct indexes for strings, binary relations and multilabeled trees. ACM Transactions on Algorithms 7, 4, Article 52. Google ScholarDigital Library
- M. Bender and M. Farach-Colton. 2000. The LCA problem revisited. In Proceedings of the 4th Latin American Symposium on Theoretical Informatics (LATIN). LNCS 1776. 88--94. Google ScholarDigital Library
- M. Bender and M. Farach-Colton. 2004. The level ancestor problem simplified. Theoretical Computer Science 321, 1, 5--12. Google ScholarDigital Library
- D. Benoit, E. D. Demaine, J. I. Munro, R. Raman, V. Raman, and S. S. Rao. 2005. Representing trees of higher degree. Algorithmica 43, 4, 275--292. Google ScholarDigital Library
- M. Burrows and D. Wheeler. 1994. A Block Sorting Data Compression Algorithm. Technical Report. Digital Systems Research Center.Google Scholar
- R. Cánovas and G. Navarro. 2010. Practical compressed suffix trees. In Proceedings of the 9th International Symposium on Experimental Algorithms (SEA). LNCS 6049. 94--105. Google ScholarDigital Library
- H.-L. Chan, W.-K. Hon, T.-W. Lam, and K. Sadakane. 2007. Compressed indexes for dynamic text collections. ACM Transactions on Algorithms 3, 2, Article 21. Google ScholarDigital Library
- Y.-T. Chiang, C.-C. Lin, and H.-I. Lu. 2005. Orderly spanning trees with applications. SIAM Journal on Computing 34, 4, 924--945. Google ScholarDigital Library
- P. Davoodi, R. Raman, and S. S. Rao. 2012. Succinct representations of binary trees for range minimum queries. In Proceedings of the 18th Annual International Conference on Computing and Combinatorics (COCOON). LNCS 7434. 396--407.Google Scholar
- P. Davoodi and S. S. Rao. 2011. Succinct dynamic cardinal trees with constant time operations for small alphabet. In Proceedings of the 8th Annual Conference on Theory and Applications of Models of Computation (TAMC). 195--205. Google ScholarDigital Library
- O. Delpratt, N. Rahman, and R. Raman. 2006. Engineering the LOUDS succinct tree representation. In Proceedings of the 5th Workshop on Efficient and Experimental Algorithms (WEA). LNCS 4007, 134--145. Google ScholarDigital Library
- A. Farzan and J. I. Munro. 2008. A uniform approach towards succinct representation of trees. In Proceedings of the 11th Scandinavian Workshop on Algorithm Theory (SWAT). LNCS 5124. 173--184. Google ScholarDigital Library
- A. Farzan and J. I. Munro. 2011. Succinct representation of dynamic trees. Theoretical Computer Science 412, 24, 2668--2678. Google ScholarDigital Library
- A. Farzan, R. Raman, and S. S. Rao. 2009. Universal succinct representations of trees? In Proceedings of the 36th International Colloquium on Automata, Languages and Programming (ICALP). 451--462. Google ScholarDigital Library
- P. Ferragina, F. Luccio, G. Manzini, and S. Muthukrishnan. 2009. Compressing and indexing labeled trees, with applications. Journal of the ACM 57, 1, Article 4. Google ScholarDigital Library
- P. Ferragina, G. Manzini, V. Mäkinen, and G. Navarro. 2007. Compressed representations of sequences and full-text indexes. ACM Transactions on Algorithms 3, 2, Article 20. Google ScholarDigital Library
- J. Fischer. 2010. Optimal succinctness for range minimum queries. In Proceedings of the 9th Symposium on Latin American Theoretical Informatics (LATIN). LNCS 6034. 158--169. Google ScholarDigital Library
- J. Fischer and V. Heun. 2007. A new succinct representation of RMQ-information and improvements in the enhanced suffix array. In Proceedings of the 1st International Symposium on Combinatorics, Algorithms, Probabilistic and Experimental Methodologies (ESCAPE). LNCS 4614. 459--470. Google ScholarDigital Library
- R. Fleischer. 1996. A simple balanced search tree with O(1) worst-case update time. International Journal of Foundations of Computer Science 7, 2, 137--149.Google ScholarCross Ref
- M. Fredman and M. Saks. 1989. The cell probe complexity of dynamic data structures. In Proceedings of the 21st Annual ACM Symposium on Theory of Computing (STOC). 345--354. Google ScholarDigital Library
- M. Fredman and D. Willard. 1993. Surpassing the information theoretic bound with fusion trees. Journal of Computer and Systems Science 47, 3, 424--436. Google ScholarDigital Library
- R. Geary, N. Rahman, R. Raman, and V. Raman 2006a. A simple optimal representation for balanced parentheses. Theoretical Computer Science 368, 3, 231--246. Google ScholarDigital Library
- R. Geary, R. Raman, and V. Raman. 2006b. Succinct ordinal trees with level-ancestor queries. ACM Transactions on Algorithms 2, 4, 510--534. Google ScholarDigital Library
- A. Golynski, R. Grossi, A. Gupta, R. Raman, and S. S. Rao. 2007. On the size of succinct indices. In Proceedings of the 15th Annual European Symposium on Algorithms (ESA). LNCS 4698. 371--382. Google ScholarDigital Library
- R. González and G. Navarro. 2008. Rank/select on dynamic compressed sequences and applications. Theoretical Computer Science 410, 4414--4422. Google ScholarDigital Library
- R. Grossi, A. Gupta, and J. S. Vitter. 2003. High-order entropy-compressed text indexes. In Proceedings of the 14th Annual ACM-SIAM Symposium on Discrete Algorithms (SODA). 841--850. Google ScholarDigital Library
- M. He and I. Munro. 2010. Succinct representations of dynamic strings. In Proceedings of the 17th International Symposium on String Processing and Information Retrieval (SPIRE). LNCS 6393. 334--346. Google ScholarDigital Library
- M. He, J. I. Munro, and S. S. Rao. 2007. Succinct ordinal trees based on tree covering. In Proceedings of the 34th International Colloquium on Automata, Languages and Programming (ICALP). LNCS 4596. 509--520. Google ScholarDigital Library
- W. K. Hon, K. Sadakane, and W. K. Sung. 2009. Breaking a time-and-space barrier in constructing full-text indices. SIAM Journal on Computing 38, 6, 2162--2178. Google ScholarDigital Library
- G. Jacobson. 1989. Space-efficient static trees and graphs. In Proceedings of the 30th IEEE Annual Symposium on Foundations of Computer Science (FOCS). 549--554. Google ScholarDigital Library
- J. Jansson, K. Sadakane, and W.-K. Sung. 2012. Ultra-succinct representation of ordered trees with applications. Journal of Computer and Systems Sciences 78, 2, 619--631. Google ScholarDigital Library
- S. Joannou and R. Raman. 2012. Dynamizing succinct tree representations. In Proceedings of the 11th International Symposium on Experimental Algorithms (SEA). 224--235. Google ScholarDigital Library
- H.-I. Lu and C.-C. Yeh. 2008. Balanced parentheses strike back. ACM Transactions on Algorithms 4, 3, Article 28. Google ScholarDigital Library
- V. Mäkinen and G. Navarro. 2007. Rank and select revisited and extended. Theoretical Computer Science 387, 3, 332--347. Google ScholarDigital Library
- V. Mäkinen and G. Navarro. 2008. Dynamic entropy-compressed sequences and full-text indexes. ACM Transactions on Algorithms 4, 3, Article 32. Google ScholarDigital Library
- G. Manzini. 2001. An analysis of the Burrows-Wheeler transform. Journal of the ACM 48, 3, 407--430. Google ScholarDigital Library
- J. I. Munro. 1986. An implicit data structure supporting insertion, deletion, and search in O(log n) time. Journal of Computer and Systems Sciences 33, 1, 66--74. Google ScholarDigital Library
- J. I. Munro. 1996. Tables. In Proceedings of the 16th Conference on Foundations of Software Technology and Computer Science (FSTTCS). LNCS 1180. 37--42. Google ScholarDigital Library
- J. I. Munro and V. Raman. 2001. Succinct representation of balanced parentheses and static trees. SIAM Journal on Computing 31, 3, 762--776. Google ScholarDigital Library
- J. I. Munro, V. Raman, and S. S. Rao. 2001a. Space efficient suffix trees. Journal of Algorithms 39, 2, 205--222. Google ScholarDigital Library
- J. I. Munro, V. Raman, and A. J. Storm. 2001b. Representing dynamic binary trees succinctly. In Proceedings of the 15th Annual ACM-SIAM Symposium on Discrete Algorithms (SODA). 529--536. Google ScholarDigital Library
- J. I. Munro and S. S. Rao. 2004. Succinct representations of functions. In Proceedings of the 31th International Colloquium on Automata, Languages and Programming (ICALP). LNCS 3142. 1006--1015.Google Scholar
- G. Navarro. 2012. Wavelet trees for all. In Proceedings of the 23rd Annual Symposium on Combinatorial Pattern Matching (CPM). LNCS 7354. 2--26. Google ScholarDigital Library
- G. Navarro and Y. Nekrich. 2012. Optimal dynamic sequence representations. CoRR abs/1206.6982v1.Google Scholar
- D. Okanohara and K. Sadakane. 2009. A linear-time Burrows-Wheeler transform using induced sorting. In Proceedings of the 16th International Symposium on String Processing and Information Retrieval (SPIRE). LNCS 5721. 90--101. Google ScholarDigital Library
- R. Pagh. 2001. Low redundancy in static dictionaries with constant query time. SIAM Journal on Computing 31, 2, 353--363. Google ScholarDigital Library
- M. Patrascu. 2007. Lower bounds for 2-dimensional range counting. In Proceedings of the 39th Annual ACM Symposium on Theory of Computing (STOC). 40--46. Google ScholarDigital Library
- M. Pǎtraşcu and E. D. Demaine. 2006. Logarithmic lower bounds in the cell-probe model. SIAM Journal on Computing 35, 4, 932--963. Google ScholarDigital Library
- M. Pătraşcu and M. Thorup. 2006. Time-space trade-offs for predecessor search. In Proceedings of the 38th Annual ACM Symposium on Theory of Computing (STOC). 232--240. Google ScholarDigital Library
- M. Pǎtraşcu and E. Viola. 2010. Cell-probe lower bounds for succinct partial sums. In Proceedings of the 21st ACM-SIAM Symposium on Discrete Algorithms (SODA). 117--122. Google ScholarDigital Library
- M. Pǎtraşcu. 2008. Succincter. In Proceedings of the 49th IEEE Annual Symposium on Foundations of Computer Science (FOCS). 305--313. Google ScholarDigital Library
- R. Raman, V. Raman, and S. S. Rao. 2001. Succinct dynamic data structures. In Proceedings of the 7th Annual Workshop on Algorithms and Data Structures (WADS). LNCS 2125. 426--437. Google ScholarDigital Library
- R. Raman, V. Raman, and S. S. Rao. 2007. Succinct indexable dictionaries with applications to encoding k-ary trees, prefix sums and multisets. ACM Transactions on Algorithms 3, 4, Article 8. Google ScholarDigital Library
- R. Raman and S. S. Rao. 2003. Succinct dynamic dictionaries and trees. In Proceedings of the 30th International Colloquium on Automata, Languages and Programming (ICALP). LNCS 2719. 357--368. Google ScholarDigital Library
- K. Sadakane. 2002. Succinct representations of lcp information and improvements in the compressed suffix arrays. In Proceedings of the 13th Annual ACM-SIAM Symposium on Discrete Algorithms (SODA). 225--232. Google ScholarDigital Library
- K. Sadakane. 2007a. Compressed suffix trees with full functionality. Theory of Computing Systems 41, 4, 589--607. Google ScholarDigital Library
- K. Sadakane. 2007b. Succinct data structures for flexible text retrieval systems. Journal of Discrete Algorithms 5, 12--22. Google ScholarDigital Library
- K. Sadakane and G. Navarro. 2010. Fully-functional succinct trees. In Proceedings of the 21st Annual ACM-SIAM Symposium on Discrete Algorithms (SODA). 134--149. Google ScholarDigital Library
- J. Vuillemin. 1980. A unifying look at data structures. Communications of the ACM 23, 4, 229--239. Google ScholarDigital Library
Index Terms
- Fully Functional Static and Dynamic Succinct Trees
Recommendations
Dynamic entropy-compressed sequences and full-text indexes
We give new solutions to the Searchable Partial Sums with Indels problem. Given a sequence of n k-bit numbers, we present a structure taking kn + o(kn) bits of space, able of performing operations sum, search, insert, and delete, all in O(log n) worst-...
Fully-functional succinct trees
SODA '10: Proceedings of the twenty-first annual ACM-SIAM symposium on Discrete algorithmsWe propose new succinct representations of ordinal trees, which have been studied extensively. It is known that any n-node static tree can be represented in 2n + o(n) bits and a large number of operations on the tree can be supported in constant time ...
Succinct Dynamic Cardinal Trees
Cardinal trees (or tries of degree $$k$$k) are a fundamental data structure, in particular for many text-processing algorithms. Each node in a cardinal tree has at most $$k$$k children, each labeled with a symbol from the alphabet $$\{1,\ldots , k\}$${1,...
Comments