Skip to main content

Optimal Skeleton Huffman Trees

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 10508))

Abstract

A skeleton Huffman tree is a Huffman tree from which all complete subtrees of depth \(h \ge 1\) have been pruned. Skeleton Huffman trees are used to save storage and enhance processing time in several applications such as decoding, compressed pattern matching and Wavelet trees for random access. However, the straightforward way of basing the construction of a skeleton tree on a canonical Huffman tree does not necessarily yield the least number of nodes. The notion of optimal skeleton trees is introduced, and an algorithm for achieving such trees is investigated. The resulting more compact trees can be used to further enhance the time and space complexities of the corresponding algorithms.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

References

  1. Barbay, J., Gagie, T., Navarro, G., Nekrich, Y.: Alphabet partitioning for compressed rank/select and applications. In: Cheong, O., Chwa, K.-Y., Park, K. (eds.) ISAAC 2010. LNCS, vol. 6507, pp. 315–326. Springer, Heidelberg (2010). doi:10.1007/978-3-642-17514-5_27

    Chapter  Google Scholar 

  2. Baruch, G., Klein, S.T., Shapira, D.: A space efficient direct access data structure. J. Discrete Algorithms 43, 26–37 (2017)

    Article  MathSciNet  MATH  Google Scholar 

  3. Bergman, E., Klein, S.T.: Fast decoding of prefix encoded texts. In: 2005 Data Compression Conference (DCC 2005), Snowbird, UT, USA, 29–31 March 2005, pp. 143–152 (2005)

    Google Scholar 

  4. Dubé, D.: Leaner skeleton trees for direct-access compressed files. In: Proceedings of IEEE International Symposium on Information Theory and its Applications (ISITA), Monterey, pp. 122–130 (2016)

    Google Scholar 

  5. Ferguson, T.J., Rabinowitz, J.H.: Self-synchronizing Huffman codes. IEEE Trans. Inf. Theory 30(4), 687–693 (1984)

    Article  MathSciNet  MATH  Google Scholar 

  6. Gilbert, E.N., Moore, E.F.: Variable-length binary encodings. Bell Syst. Tech. J. 38, 933–968 (1959)

    Article  MathSciNet  Google Scholar 

  7. Grossi, R., Gupta, A., Vitter, J.S.: High-order entropy-compressed text indexes. In: Proceedings of the 14th Annual SIAM/ACM Symposium on Discrete Algorithms (SODA), pp. 841–850 (2003)

    Google Scholar 

  8. Huffman, D.: A method for the construction of minimum redundancy codes. In: Proceedings of the IRE, pp. 1098–1101 (1952)

    Google Scholar 

  9. Jacobson, G.: Space efficient static trees and graphs. In: Proceedings of Foundations of Computer Science (FOCS), pp. 549–554 (1989)

    Google Scholar 

  10. Klein, S.T.: Skeleton trees for the efficient decoding of Huffman encoded texts. J. Inf. Retrieval 3, 7–23 (2000). Special issue on Compression and Efficiency in Information Retrieval of the Kluwer

    Article  Google Scholar 

  11. Klein, S.T.: Basic Concepts in Data Structures. Cambridge University Press, Cambridge (2016)

    Book  MATH  Google Scholar 

  12. Navarro, G., Providel, E.: Fast, small, simple rank/select on bitmaps. In: Klasing, R. (ed.) SEA 2012. LNCS, vol. 7276, pp. 295–306. Springer, Heidelberg (2012). doi:10.1007/978-3-642-30850-5_26

    Chapter  Google Scholar 

  13. Okanohara, D., Sadakane, K.: Practical entropy-compressed rank/select dictionary. In: Proceedings of ALENEX. SIAM (2007)

    Google Scholar 

  14. Raman, R., Raman, V., Satti, S.R.: Succinct indexable dictionaries with applications to encoding k-ary trees, prefix sums and multisets. ACM Trans. Algorithms 3(4), 43 (2007)

    Article  MathSciNet  Google Scholar 

  15. Schwartz, E.S., Kallick, B.: Generating a canonical prefix encoding. Commun. ACM 7, 166–169 (1964)

    Article  MATH  Google Scholar 

  16. Shapira, D., Daptardar, A.: Adapting the Knuth-Morris-Pratt algorithm for pattern matching in Huffman encoded texts. Inf. Process. Manag. 42(2), 429–439 (2006)

    Article  MATH  Google Scholar 

  17. Turpin, A., Moffat, A.: Fast file search using text compression. In: Australian Computer Science Conference, pp. 1–8 (1997)

    Google Scholar 

  18. Véronis, J., Langlais, P.: Evaluation of parallel text alignment systems: The arcade project. In: Véronis, J. (ed.) Parallel Text Processing, vol. 13, pp. 369–388. Springer, Dordrecht (2000). doi:10.1007/978-94-017-2535-4_19

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Shmuel T. Klein .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2017 Springer International Publishing AG

About this paper

Cite this paper

Klein, S.T., Serebro, T.C., Shapira, D. (2017). Optimal Skeleton Huffman Trees. In: Fici, G., Sciortino, M., Venturini, R. (eds) String Processing and Information Retrieval. SPIRE 2017. Lecture Notes in Computer Science(), vol 10508. Springer, Cham. https://doi.org/10.1007/978-3-319-67428-5_21

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-67428-5_21

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-67427-8

  • Online ISBN: 978-3-319-67428-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics