skip to main content
research-article

Thin heaps, thick heaps

Published: 28 March 2008 Publication History

Abstract

The Fibonacci heap was devised to provide an especially efficient implementation of Dijkstra's shortest path algorithm. Although asyptotically efficient, it is not as fast in practice as other heap implementations. Expanding on ideas of Høyer [1995], we describe three heap implementations (two versions of thin heaps and one of thick heaps) that have the same amortized efficiency as Fibonacci heaps, but need less space and promise better practical performance. As part of our development, we fill in a gap in Høyer's analysis.

References

[1]
Adel'son-Vel'skii, G. M., and Landis, E. M. 1962. An algorithm for organization of information. Dokl. Akad. Nauk SSSR 146, 263--266.
[2]
Aho, A. V., Hopcroft, J. E., and Ullman, J. D. 1982. Data Structures and Algorithms. Addison-Wesley.
[3]
Arge, L., Bender, M. A., Demaine, E. D., Holland-Minkley, B., and Munro, J. I. 2002. Cache-Oblivious priority queue and graph algorithm applications. In Proceedings of the 34th ACM Symposium on Theory of Computing (STOC). ACM Press, 268--276.
[4]
Bayer, R. 1972. Symmetric binary b-trees: Data structure and maintenance algorithms. Acta Inf. 1, 290--306.
[5]
Ben-Amram, A. M. 1995. What is a “pointer machine”? SIGACT News 26, 2, 88--95.
[6]
Brodal, G. S. 1996. Worst-Case priority queues. In Proceedings of the 7th Annual ACM-SIAM Symposium on Discrete Algorithms (SODA). ACM Press, 52--58.
[7]
Brodal, G. S. 1995. Fast meldable priority queues. In Proceedings of the 4th International Workshop on Algorithms and Data Structures (WADS). Lecture Notes in Computer Science, vol. 955. Springer, 282--290.
[8]
Brodal, G. S., and Fagerberg, R. 2002. Funnel heap---A cache oblivious priority queue. In Proceedings of the 13th Annual International Symposium on Algorithms and Computation (ICALP). Lecture Notes in Computer Science, vol. 2518. Springer, 219--228.
[9]
Brodal, G. S., Fagerberg, R., Meyer, U., and Zeh, N. 2004. Cache-Oblivious data structures and algorithms for undirected breadth-first search and shortest paths. In Proceedings of the 9th Scandinavian Workshop on Algorithm Theory (SWAT). Lecture Notes in Computer Science, vol. 3111. Springer, 480--492.
[10]
Brown, M. R. 1978. Implementation and analysis of binomial queue algorithms. SIAM J. Comput. 7, 3, 298--319.
[11]
Cormen, T. H., Leiserson, C. E., Rivest, R. L., and Stein, C. 2001. Introduction to Algorithms, 2nd ed. MIT Press, Cambridge, MA.
[12]
Driscoll, J. R., Gabow, H. N., Shrairman, R., and Tarjan, R. E. 1988. Relaxed heaps: An alternative to Fibonacci heaps with applications to parallel computation. Commun. ACM 31, 11, 1343--1354.
[13]
Elmasry, A. 2004a. Layered heaps. In Proceedings of the 9th Scandinavian Workshop on Algorithm Theory (SWAT). Lecture Notes in Computer Science, vol. 3111. Springer.
[14]
Elmasry, A. 2004b. Parameterized self-adjusting heaps. J. Algor. 52, 2, 103--119.
[15]
Fredman, M. L. 1999a. On the efficiency of pairing heaps and related data structures. J. ACM 46, 4, 473--501.
[16]
Fredman, M. L. 1999b. A priority queue transform. In Proceedings of the 3rd International Workshop on Algorithm Engineering (WAE). Lecture Notes in Computer Science, vol. 1668. Springer, 243--257.
[17]
Fredman, M. L., and Willard, D. E. 1994. Trans-Dichotomous algorithms for minimum spanning trees and shortest paths. J. Comput. Syst. Sci. 48, 3, 533--551.
[18]
Fredman, M. L., and Tarjan, R. E. 1987. Fibonacci heaps and their uses in improved network optimization algorithms. J. ACM 34, 3, 596--615.
[19]
Fredman, M. L., Sedgewick, R., Sleator, D. D., and Tarjan, R. E. 1986. The pairing heap: A new form of self-adjusting heap. Algorithmica 1, 111--129.
[20]
Gabow, H. N., Galil, Z., Spencer, T., and Tarjan, R. E. 1986. Efficient algorithms for finding minimum spanning trees in directed and undirected graphs. Combinatorica 6, 2, 109--122.
[21]
Guibas, L. J., and Sedgewick, R. 1978. A dichromatic framework for balanced trees. In Proceedings of the Annual Symposium on Foundations of Computer Science (FOCS), 8--21.
[22]
Høyer, P. 1995. A general technique for implementation of efficient priority queues. In Proceedings of the 3rd Israel Symposium on Theory of Computer Systems. IEEE Computer Society Press, 57--66.
[23]
Kaplan, H., and Tarjan, R. E. 1999. New heap data structures. Tech. Rep. TR-597-99, Princeton University.
[24]
Kaplan, H., Shafrir, N., and Tarjan, R. E. 2002. Meldable heaps and Boolean union-find. In Proceedings of the 34th Annual ACM Symposium on Theory of Computing (STOC), 573--582.
[25]
Knuth, D. E. 1997. The Art of Computer Programming, Volume 1: Fundamental Algorithms, 3rd ed. Addison-Wesley, Reading, MA.
[26]
Peterson, G. L. 1987. A balanced tree scheme for meldable heaps with updates. Tech. Rep. GIT-ICS-87-23, School of Information and Computer Science, Georgia Institute of Technology, Atlanta, Georgia.
[27]
Pettie, S. 2005. Towards a final analysis of pairing heaps. In Proceedings of the 46th Annual Symposium on Foundations of Computer Science (FOCS). 174--183.
[28]
Sleator, D., and Tarjan, R. E. 1986. Self-Adjusting heaps. SIAM J. Comput. 15, 1, 52--69.
[29]
Stasko, J. T., and Vitter, J. S. 1987. Pairing heaps: Experiments and analysis. Commun. ACM 30, 3, 234--249.
[30]
Takaoka, T. 2003. Theory of 2-3 heaps. Discrete Appl. Math. 126, 1, 115--128.
[31]
Takaoka, T. 2000. Theory of trinomial heaps. In Proceedings of the 6th Annual International Conference on Computing and Combinatorics (COCOON). Lecture Notes in Computer Science, vol. 1858. Springer, 362--372.
[32]
Tarjan, R. E. 1979. A class of algorithms which require nonlinear time to maintain disjoint sets. J. Comput. Syst. Sci. 18, 2, 110--127.
[33]
Tarjan, R. E. 1985. Amortized computational complexity. SIAM J. Algebr. Discrete Meth. 6, 2, 306--318.
[34]
Tarjan, R. E. 1982. Data Structures and Network Algorithms. SIAM, Philadelphia, PA.
[35]
Thorup, M. 2004. Integer priority queues with decrease key in constant time and the single source shortest paths problem. J. Comput. Syst. Sci. 69, 3, 330--353.
[36]
Vuillemin, J. 1978. A data structure for manipulating priority queues. Commun. ACM 21, 309--314.

Cited By

View all
  • (2024)Strict Fibonacci HeapsACM Transactions on Algorithms10.1145/370769221:2(1-18)Online publication date: 10-Dec-2024
  • (2019)Smooth Heaps and a Dual View of Self-Adjusting Data StructuresSIAM Journal on Computing10.1137/18M1195188(STOC18-45-STOC18-93)Online publication date: 5-Nov-2019
  • (2018)Smooth heaps and a dual view of self-adjusting data structuresProceedings of the 50th Annual ACM SIGACT Symposium on Theory of Computing10.1145/3188745.3188864(801-814)Online publication date: 20-Jun-2018
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Transactions on Algorithms
ACM Transactions on Algorithms  Volume 4, Issue 1
March 2008
343 pages
ISSN:1549-6325
EISSN:1549-6333
DOI:10.1145/1328911
Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 28 March 2008
Accepted: 01 September 2007
Revised: 01 September 2006
Received: 01 April 2005
Published in TALG Volume 4, Issue 1

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Data structure
  2. binomial queue
  3. decrease key operation
  4. fibonacci heap
  5. heap
  6. melding
  7. priority queue
  8. thick heap
  9. thin heap

Qualifiers

  • Research-article
  • Research
  • Refereed

Funding Sources

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)16
  • Downloads (Last 6 weeks)1
Reflects downloads up to 05 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Strict Fibonacci HeapsACM Transactions on Algorithms10.1145/370769221:2(1-18)Online publication date: 10-Dec-2024
  • (2019)Smooth Heaps and a Dual View of Self-Adjusting Data StructuresSIAM Journal on Computing10.1137/18M1195188(STOC18-45-STOC18-93)Online publication date: 5-Nov-2019
  • (2018)Smooth heaps and a dual view of self-adjusting data structuresProceedings of the 50th Annual ACM SIGACT Symposium on Theory of Computing10.1145/3188745.3188864(801-814)Online publication date: 20-Jun-2018
  • (2017)Hollow HeapsACM Transactions on Algorithms10.1145/309324013:3(1-27)Online publication date: 27-Jul-2017
  • (2015)Replacing Mark Bits with Randomness in Fibonacci HeapsAutomata, Languages, and Programming10.1007/978-3-662-47672-7_72(886-897)Online publication date: 20-Jun-2015
  • (2015)Hollow HeapsAutomata, Languages, and Programming10.1007/978-3-662-47672-7_56(689-700)Online publication date: 20-Jun-2015
  • (2014)A back-to-basics empirical study of priority queuesProceedings of the Meeting on Algorithm Engineering & Expermiments10.5555/2790174.2790181(61-72)Online publication date: 5-Jan-2014
  • (2013)Soft Heaps SimplifiedSIAM Journal on Computing10.1137/12088018542:4(1660-1673)Online publication date: Jan-2013
  • (2013)Quake Heaps: A Simple Alternative to Fibonacci HeapsSpace-Efficient Data Structures, Streams, and Algorithms10.1007/978-3-642-40273-9_3(27-32)Online publication date: 2013
  • (2013)A Survey on Priority QueuesSpace-Efficient Data Structures, Streams, and Algorithms10.1007/978-3-642-40273-9_11(150-163)Online publication date: 2013
  • Show More Cited By

View Options

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media