Advertisement

Parallel Construction of Succinct Trees

  • Leo Ferres
  • José Fuentes-SepúlvedaEmail author
  • Meng He
  • Norbert Zeh
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9125)

Abstract

Succinct representations of trees are an elegant solution to make large trees fit in main memory while still supporting navigational operations in constant time. However, their construction time remains a bottleneck. We introduce a practical parallel algorithm that improves the state of the art in succinct tree construction. Given a tree on \(n\) nodes stored as a sequence of balanced parentheses, our algorithm builds a succinct tree representation in \(O(n/p+\lg p)\) time, where \(p\) is the number of available cores. The constructed representation uses \(2n + o(n)\) bits of space and supports a rich set of operations in \(O(\lg n)\) time. In experiments using up to 64 cores and on inputs of different sizes, our algorithm achieved good parallel speed-up. We also present an algorithm that takes \(O(n/p + \lg p)\) time to construct the balanced parenthesis representation of the input tree required by our succinct tree construction algorithm.

Keywords

Input Size Input Tree Primitive Operation Parallel Construction Complete Binary Tree 
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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Arroyuelo, D., Cánovas, R., Navarro, G., Sadakane, K.: Succinct trees in practice. In: ALENEX, pp. 84–97. SIAM Press, Austin (2010)Google Scholar
  2. 2.
    Benoit, D., Demaine, E.D., Munro, J.I., Raman, V.: Representing trees of higher degree. In: Dehne, F., Gupta, A., Sack, J.-R., Tamassia, R. (eds.) WADS 1999. LNCS, vol. 1663, pp. 169–180. Springer, Heidelberg (1999) CrossRefGoogle Scholar
  3. 3.
    Bingmann, T.: malloc\_count - tools for runtime memory usage analysis and profiling, January 17, 2015Google Scholar
  4. 4.
    Blumofe, R.D., Leiserson, C.E.: Scheduling multithreaded computations by work stealing. J. ACM 46(5), 720–748 (1999)zbMATHMathSciNetCrossRefGoogle Scholar
  5. 5.
    Clark, D.R., Munro, J.I.: Efficient suffix trees on secondary storage. In: SODA, pp. 383–391 (1996)Google Scholar
  6. 6.
    Claude, F.: A compressed data structure library, January 17, 2015Google Scholar
  7. 7.
    Cormen, T.H., Leiserson, C.E., Rivest, R.L., Stein, C.: Introduction to Algorithms, chapter. Multithreaded Algorithms, third edn., pp. 772–812. The MIT Press (2009)Google Scholar
  8. 8.
    Drepper, U.: What every programmer should know about memory (2007)Google Scholar
  9. 9.
    Farzan, A., Munro, J.I.: A uniform paradigm to succinctly encode various families of trees. Algorithmica 68(1), 16–40 (2014)zbMATHMathSciNetCrossRefGoogle Scholar
  10. 10.
    Fuentes-Sepúlveda, J., Elejalde, E., Ferres, L., Seco, D.: Efficient Wavelet tree construction and querying for multicore architectures. In: Gudmundsson, J., Katajainen, J. (eds.) SEA 2014. LNCS, vol. 8504, pp. 150–161. Springer, Heidelberg (2014) Google Scholar
  11. 11.
    Geary, R.F., Raman, R., Raman, V.: Succinct ordinal trees with level-ancestor queries. In: SODA, pp. 1–10 (2004)Google Scholar
  12. 12.
    Gog, S.: Succinct data structure library 2.0, January 17, 2015Google Scholar
  13. 13.
    He, M., Munro, J.I., Satti, S.R.: Succinct ordinal trees based on tree covering. ACM Trans. Algorithms 8(4), 42 (2012)MathSciNetCrossRefGoogle Scholar
  14. 14.
    Helman, D.R., JáJá, J.: Prefix computations on symmetric multiprocessors. J. Par. Dist. Comput. 61(2), 265–278 (2001)zbMATHCrossRefGoogle Scholar
  15. 15.
    Jacobson, G.: Space-efficient static trees and graphs. In: FOCS, pp. 549–554 (1989)Google Scholar
  16. 16.
    Jansson, J., Sadakane, K., Sung, W.K.: Ultra-succinct representation of ordered trees. In: SODA (2007)Google Scholar
  17. 17.
    Lu, H.I., Yeh, C.C.: Balanced parentheses strike back. ACM Trans. Algorithms 4, 28:1–28:13 (2008)MathSciNetCrossRefGoogle Scholar
  18. 18.
    Munro, J.I., Raman, V.: Succinct representation of balanced parentheses, static trees and planar graphs. In: FOCS, pp. 118–126 (1997)Google Scholar
  19. 19.
    Navarro, G., Sadakane, K.: Fully functional static and dynamic succinct trees. ACM Trans. Algorithms 10(3), 16:1–16:39 (2014)MathSciNetCrossRefGoogle Scholar
  20. 20.
    Raman, R., Rao, S.S.: Succinct representations of ordinal trees. In: Brodnik, A., López-Ortiz, A., Raman, V., Viola, A. (eds.) Ianfest-66. LNCS, vol. 8066, pp. 319–332. Springer, Heidelberg (2013) CrossRefGoogle Scholar
  21. 21.
    Shun, J.: Parallel wavelet tree construction. CoRR abs/1407.8142 (2014)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  • Leo Ferres
    • 1
  • José Fuentes-Sepúlveda
    • 1
    Email author
  • Meng He
    • 2
  • Norbert Zeh
    • 2
  1. 1.Department of Computer ScienceUniversidad de ConcepciónConcepciónChile
  2. 2.Faculty of Computer ScienceDalhousie UniversityHalifaxCanada

Personalised recommendations