Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.5555/2790231.2790240guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
research-article
Free access

Succinct trees in practice

Published: 16 January 2010 Publication History

Abstract

We implement and compare the major current techniques for representing general trees in succinct form. This is important because a general tree of n nodes is usually represented in pointer form, requiring O(n log n) bits, whereas the succinct representations we study require just 2n + o(n) bits and carry out many sophisticated operations in constant time. Yet, there is no exhaustive study in the literature comparing the practical magnitudes of the o(n)-space and the O(1)-time terms. The techniques can be classified into three broad trends: those based on BP (balanced parentheses in preorder), those based on DFUDS (depth-first unary degree sequence), and those based on LOUDS (level-ordered unary degree sequence). BP and DFUDS require a balanced parentheses representation that supports the core operations findopen, findclose, and enclose, for which we implement and compare three major algorithmic proposals. All the tree representations require also core operations rank and select on bitmaps, which are already well studied in the literature. We show how to predict the time and space performance of most variants via combining these core operations, and also study some tree operations for which specialized implementations exist. This is especially relevant for a recent proposal (K. Sadakane and G. Navarro, SODA'10) which, although belonging to class BP, deviates from the main techniques in some cases in order to achieve constant time for the widest range of operations. We experiment over various types of real-life trees and of traversals, and conclude that the latter technique stands out as an excellent practical combination of space occupancy, time performance, and functionality, whereas others, particularly LOUDS, are still interesting in some limited-functionality niches.

References

[1]
D. Arroyuelo, F. Claude, S. Maneth, V. Mäkinen, G. Navarro, K. Nguyen, J. Sirén, and N. Välimäki. Fast in-memory XPath search over compressed text and tree indexes. In Proc. 26th ICDE, 2010. To appear.
[2]
M. Bender and M. Farach-Colton. The LCA problem revisited. In Proc. 4th LATIN, LNCS 1776, pages 88--94, 2000.
[3]
M. Bender and M. Farach-Colton. The level ancestor problem simplified. Theoretical Computer Science, 321(1):5--12, 2004.
[4]
D. Benoit, E. Demaine, I. Munro, R. Raman, V. Raman, and S. Rao. Representing trees of higher degree. Algorithmica, 43(4):275--292, 2005.
[5]
D. Blandford, G. Blelloch, and I. Kash. An experimental analysis of a compact graph representation. In Proc. 6th ALENEX, pages 49--61, 2004.
[6]
F. Claude and G. Navarro. Practical rank/select queries over arbitrary sequences. In Proc. 15th SPIRE, LNCS 5280, pages 176--187, 2008.
[7]
O. Delpratt, N. Rahman, and R. Raman. Engineering the LOUDS succinct tree representation. In Proc. 5th WEA, pages 134--145. LNCS 4007, 2006.
[8]
A. Farzan and J. I. Munro. A uniform approach towards succinct representation of trees. In Proc. 11th SWAT, LNCS 5124, pages 173--184, 2008.
[9]
J. Fischer and V. Heun. A new succinct representation of RMQ-information and improvements in the enhanced suffix array. In Proc. ESCAPE, LNCS 4614, pages 459--470, 2007.
[10]
R. Geary, N. Rahman, R. Raman, and V. Raman. A simple optimal representation for balanced parentheses. Theoretical Computer Science, 368(3):231--246, 2006.
[11]
R. Geary, R. Raman, and V. Raman. Succinct ordinal trees with level-ancestor queries. In Proc. 15th SODA, pages 1--10, 2004.
[12]
A. Golynski, R. Grossi, A. Gupta, R. Raman, and S. Rao. On the size of succinct indices. In Proc. 15th ESA, pages 371--382. LNCS 4698, 2007.
[13]
R. González, Sz. Grabowski, V. Mäkinen, and G. Navarro. Practical implementation of rank and select queries. In Proc. 4th WEA (posters), pages 27--38, 2005.
[14]
A. Gupta, W.-K. Hon, R. Shah, and J. Vitter. Compressed dictionaries: Space measures, data sets, and experiments. In Proc. 5th WEA, pages 158--169, 2006.
[15]
M. He, J. I. Munro, and S. S. Rao. Succinct ordinal trees based on tree covering. In Proc. 34th ICALP, LNCS 4596, pages 509--520, 2007.
[16]
G. Jacobson. Space-efficient static trees and graphs. In Proc. 30th FOCS, pages 549--554, 1989.
[17]
J. Jansson, K. Sadakane, and W.-K. Sung. Ultra-succinct representation of ordered trees. In Proc. 18th SODA, pages 575--584, 2007.
[18]
H.-I. Lu and C.-C. Yeh. Balanced parentheses strike back. ACM Transactions on Algorithms (TALG), 4(3):article 28, 2008.
[19]
I. Munro and V. Raman. Succinct representation of balanced parentheses and static trees. SIAM Journal on Computing, 31(3):762--776, 2001.
[20]
I. Munro, V. Raman, and S. Rao. Space efficient suffix trees. Journal of Algorithms, 39(2):205--222, 2001.
[21]
I. Munro and S. Rao. Succinct representations of functions. In Proc. 31th ICALP, LNCS 3142, pages 1006--1015, 2004.
[22]
G. Navarro. Implementing the LZ-index: Theory versus practice. ACM Journal of Experimental Algorithmics (JEA), 13(article 2), 2009. 49 pages.
[23]
D. Okanohara and K. Sadakane. Practical entropy-compressed rank/select dictionary. In Proc. 9th ALENEX, 2007.
[24]
R. Raman, V. Raman, and S. Rao. Succinct indexable dictionaries with applications to encoding k-ary trees and multisets. In Proc. 13th SODA, pages 233--242, 2002.
[25]
K. Sadakane. Compressed Suffix Trees with Full Functionality. Theory of Computing Systems, 41(4):589--607, 2007.
[26]
K. Sadakane and G. Navarro. Fully-functional static and dynamic succinct trees. CoRR, abs/0905.0768, 2009. http://arxiv.org/abs/0905.0768.
[27]
K. Sadakane and G. Navarro. Fully-functional succinct trees. In Proc. 21st SODA, 2010. To appear.
[28]
A. Schmidt, F. Waas, M. Kersten, M. Carey, I. Manolescu, and R. Busse. XMark: A benchmark for XML data management. In Proc. 28th VLDB, pages 974--985, 2002.

Cited By

View all
  • (2022)Proteus: A Self-Designing Range FilterProceedings of the 2022 International Conference on Management of Data10.1145/3514221.3526167(1670-1684)Online publication date: 10-Jun-2022
  • (2018)SuRFProceedings of the 2018 International Conference on Management of Data10.1145/3183713.3196931(323-336)Online publication date: 27-May-2018
  • (2017)Practical Compact Indexes for Top-k Document RetrievalACM Journal of Experimental Algorithmics10.1145/304395822(1-37)Online publication date: 2-Mar-2017
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Guide Proceedings
ALENEX '10: Proceedings of the Meeting on Algorithm Engineering & Expermiments
January 2010
188 pages

Publisher

Society for Industrial and Applied Mathematics

United States

Publication History

Published: 16 January 2010

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)76
  • Downloads (Last 6 weeks)11
Reflects downloads up to 12 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2022)Proteus: A Self-Designing Range FilterProceedings of the 2022 International Conference on Management of Data10.1145/3514221.3526167(1670-1684)Online publication date: 10-Jun-2022
  • (2018)SuRFProceedings of the 2018 International Conference on Management of Data10.1145/3183713.3196931(323-336)Online publication date: 27-May-2018
  • (2017)Practical Compact Indexes for Top-k Document RetrievalACM Journal of Experimental Algorithmics10.1145/304395822(1-37)Online publication date: 2-Mar-2017
  • (2017)Parallel construction of succinct treesTheoretical Computer Science10.1016/j.tcs.2017.07.025700:C(1-22)Online publication date: 14-Nov-2017
  • (2017)Compressed double-array tries for string dictionaries supporting fast lookupKnowledge and Information Systems10.1007/s10115-016-0999-851:3(1023-1042)Online publication date: 1-Jun-2017
  • (2016)Faster Compressed Suffix Trees for Repetitive CollectionsACM Journal of Experimental Algorithmics10.1145/285149521(1-38)Online publication date: 29-Jan-2016
  • (2016)Simple and efficient fully-functional succinct treesTheoretical Computer Science10.1016/j.tcs.2016.04.031656:PB(135-145)Online publication date: 20-Dec-2016
  • (2016)Simultaneous encodings for range and next/previous larger/smaller value queriesTheoretical Computer Science10.1016/j.tcs.2016.01.043654:C(80-91)Online publication date: 22-Nov-2016
  • (2016)A compression method of double-array structures using linear functionsKnowledge and Information Systems10.1007/s10115-015-0873-048:1(55-80)Online publication date: 1-Jul-2016
  • (2016)Practical Dynamic Entropy-Compressed Bitvectors with ApplicationsProceedings of the 15th International Symposium on Experimental Algorithms - Volume 968510.1007/978-3-319-38851-9_8(105-117)Online publication date: 5-Jun-2016
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media