Design of Practical Succinct Data Structures for Large Data Collections

  • Roberto Grossi
  • Giuseppe Ottaviano
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7933)


We describe a set of basic succinct data structures which have been implemented as part of the Succinct library, and applications on top of the library: an index to speed-up the access to collections of semi-structured data, a compressed string dictionary, and a compressed dictionary for scored strings which supports top-k prefix matching.


Parse Tree Path Decomposition Succinct Representation Large Data Collection Tree Navigation 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
  2. 2.
    Arroyuelo, D., Cánovas, R., Navarro, G., Sadakane, K.: Succinct trees in practice. In: ALENEX, pp. 84–97 (2010)Google Scholar
  3. 3.
    Barbay, J., He, M., Munro, J.I., Satti, S.R.: Succinct indexes for strings, binary relations and multilabeled trees. ACM Transactions on Algorithms 7(4), 52 (2011)MathSciNetCrossRefGoogle Scholar
  4. 4.
    Bender, M.A., Farach-Colton, M.: The LCA problem revisited. In: Gonnet, G.H., Viola, A. (eds.) LATIN 2000. LNCS, vol. 1776, pp. 88–94. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  5. 5.
    Benoit, D., Demaine, E.D., Munro, J.I., Raman, R., Raman, V., Rao, S.S.: Representing trees of higher degree. Algorithmica 43(4), 275–292 (2005)MathSciNetzbMATHCrossRefGoogle Scholar
  6. 6.
    Buhrman, H., Miltersen, P.B., Radhakrishnan, J., Venkatesh, S.: Are bitvectors optimal? SIAM Journal on Computing 31(6), 1723–1744 (2002)MathSciNetzbMATHCrossRefGoogle Scholar
  7. 7.
    Davoodi, P., Raman, R., Satti, S.R.: Succinct representations of binary trees for range minimum queries. In: Gudmundsson, J., Mestre, J., Viglas, T. (eds.) COCOON 2012. LNCS, vol. 7434, pp. 396–407. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  8. 8.
    Dean, J., Ghemawat, S.: MapReduce: Simplified data processing on large clusters. In: OSDI, pp. 137–150 (2004)Google Scholar
  9. 9.
    Elias, P.: Efficient storage and retrieval by content and address of static files. Journal of the ACM (JACM) 21(2), 246–260 (1974)MathSciNetzbMATHCrossRefGoogle Scholar
  10. 10.
    Elias, P., Flower, R.A.: The complexity of some simple retrieval problems. Journal of the ACM 22(3), 367–379 (1975)MathSciNetzbMATHCrossRefGoogle Scholar
  11. 11.
    Fano, R.: On the number of bits required to implement an associative memory. Memorandum 61. Computer Structures Group, Project MAC. MIT (1971)Google Scholar
  12. 12.
    Ferragina, P., Manzini, G.: Indexing compressed text. J. ACM 52(4), 552–581Google Scholar
  13. 13.
    Fischer, J., Heun, V.: Space-efficient preprocessing schemes for range minimum queries on static arrays. SIAM J. Comput. 40(2), 465–492 (2011)MathSciNetzbMATHCrossRefGoogle Scholar
  14. 14.
    Grossi, R., Ottaviano, G.: Fast compressed tries through path decompositions. In: ALENEX, pp. 65–74 (2012)Google Scholar
  15. 15.
    Grossi, R., Vitter, J.S.: Compressed suffix arrays and suffix trees with applications to text indexing and string matching. SIAM J. Comput. 35(2), 378–407 (2005)MathSciNetzbMATHCrossRefGoogle Scholar
  16. 16.
    Hsu, B.J.P., Ottaviano, G.: Space-efficient data structures for top-k completion. In: Proceedings of the 22st World Wide Web Conference (WWW) (2013)Google Scholar
  17. 17.
    Jacobson, G.: Space-efficient static trees and graphs. In: FOCS, pp. 549–554 (1989)Google Scholar
  18. 18.
    JSON specification,
  19. 19.
    Kao, M.Y. (ed.): Encyclopedia of Algorithms. Springer (2008)Google Scholar
  20. 20.
    Knuth, D.E.: The Art of Computer Programming. Fascicle 1: Bitwise Tricks & Techniques; Binary Decision Diagrams, vol. 4. Addison-Wesley (2009)Google Scholar
  21. 21.
    libcds - Compact Data Structures Library,
  22. 22.
    Miltersen, P.B.: The bit probe complexity measure revisited. In: Enjalbert, P., Wagner, K.W., Finkel, A. (eds.) STACS 1993. LNCS, vol. 665, pp. 662–671. Springer, Heidelberg (1993)CrossRefGoogle Scholar
  23. 23.
    Munro, J.I., Raman, V.: Succinct representation of balanced parentheses and static trees. SIAM Journal on Computing 31(3), 762–776 (2001)MathSciNetzbMATHCrossRefGoogle Scholar
  24. 24.
    Okanohara, D., Sadakane, K.: Practical entropy-compressed rank/select dictionary. In: ALENEX (2007)Google Scholar
  25. 25.
    Ottaviano, G., Grossi, R.: Semi-indexing semi-structured data in tiny space. In: CIKM, pp. 1485–1494 (2011)Google Scholar
  26. 26.
    Pǎtraşcu, M.: Succincter. In: FOCS 2008, pp. 305–313 (2008)Google Scholar
  27. 27.
    Pǎtraşcu, M., Thorup, M.: Time-space trade-offs for predecessor search. In: STOC, pp. 232–240 (2006)Google Scholar
  28. 28.
    Raman, R., Raman, V., Satti, S.R.: Succinct indexable dictionaries with applications to encoding k-ary trees, prefix sums and multisets. ACM Trans. Alg. 3(4) (2007)Google Scholar
  29. 29.
    rsdic - Compressed Rank Select Dictionary,
  30. 30.
    Sadakane, K., Navarro, G.: Fully-functional succinct trees. In: SODA 2010, pp. 134–149 (2010)Google Scholar
  31. 31.
    SDSL - Succinct Data Structure Library,
  32. 32.
    Succinct library,
  33. 33.
    Sux - Implementing Succinct Data Structures,
  34. 34.
    Vigna, S.: Broadword implementation of rank/select queries. In: McGeoch, C.C. (ed.) WEA 2008. LNCS, vol. 5038, pp. 154–168. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  35. 35.
    Viola, E.: Bit-probe lower bounds for succinct data structures. SIAM J. Comput. 41(6), 1593–1604 (2012)MathSciNetzbMATHCrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Roberto Grossi
    • 1
  • Giuseppe Ottaviano
    • 1
  1. 1.Dipartimento di InformaticaUniversità di PisaItaly

Personalised recommendations