skip to main content
10.1145/2213977.2214082acmconferencesArticle/Chapter ViewAbstractPublication PagesstocConference Proceedingsconference-collections
research-article

Strict fibonacci heaps

Published:19 May 2012Publication History

ABSTRACT

We present the first pointer-based heap implementation with time bounds matching those of Fibonacci heaps in the worst case. We support make-heap, insert, find-min, meld and decrease-key in worst-case O(1) time, and delete and delete-min in worst-case O(lg n) time, where n is the size of the heap. The data structure uses linear space.

A previous, very complicated, solution achieving the same time bounds in the RAM model made essential use of arrays and extensive use of redundant counter schemes to maintain balance. Our solution uses neither. Our key simplification is to discard the structure of the smaller heap when doing a meld. We use the pigeonhole principle in place of the redundant counter mechanism.

Skip Supplemental Material Section

Supplemental Material

stoc_13a_5.mp4

mp4

134.6 MB

References

  1. Gerth Stølting Brodal. Fast meldable priority queues. In Proc. 4th International Workshop Algorithms and Data Structures, volume 955 of Lecture Notes in Computer Science, pages 282--290. Springer, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Gerth Stølting Brodal. Worst-case efficient priority queues. InProc. 7th Annual ACM-SIAM Symposium on Discrete Algorithms, pages 52--58. SIAM, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Svante Carlsson, J. Ian Munro, and Patricio V. Poblete. An implicit binomial queue with constant insertion time. In Proc. 1st Scandinavian Workshop on Algorithm Theory, volume 318 of Lecture Notes in Computer Science, pages 1--13. Springer, 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Timothy M. Chan. Quake heaps: a simple alternative to Fibonacci heaps. Manuscript, 2009.Google ScholarGoogle Scholar
  5. Clark Allan Crane. Linear lists and priority queues as balanced binary trees. PhD thesis, Stanford University, Stanford, CA, USA, 1972.Google ScholarGoogle Scholar
  6. James R. Driscoll, Harold N. Gabow, Ruth Shrairman, and Robert E. Tarjan. Relaxed heaps: An alternative to Fibonacci heaps with applications to parallel computation. Communications of the ACM, 31(11):1343--1354, 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Amr Elmasry. Layered heaps. In Proc. 9th Scandinavian Workshop on Algorithm Theory, volume 3111 of Lecture Notes in Computer Science, pages 212--222. Springer, 2004.Google ScholarGoogle ScholarCross RefCross Ref
  8. Amr Elmasry. Parameterized self-adjusting heaps. J. Algorithms, 52(2):103--119, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Amr Elmasry. Pairing heaps with o(log logn) decrease cost. In Proc. 20th Annual ACM-SIAM Symposium on Discrete Algorithms, pages 471--476. SIAM, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Amr Elmasry. The violation heap: A relaxed Fibonacci-like heap. In Proc. 16th Annual International Conference on Computing and Combinatorics, volume 6196 of Lecture Notes in Computer Science, pages 479--488. Springer, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Amr Elmasry, Claus Jensen, and Jyrki Katajainen. On the power of structural violations in priority queues. In Proc. 13th Computing: The Australasian Theory Symposium., volume 65 of CRPIT, pages 45--53. Australian Computer Society, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Amr Elmasry, Claus Jensen, and Jyrki Katajainen. Two-tier relaxed heaps.Acta Informatica, 45(3):193--210, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Michael L. Fredman. On the efficiency of pairing heaps and related data structures.Journal of the ACM, 46(4):473--501, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Michael L. Fredman, Robert Sedgewick, Daniel Dominic Sleator, and Robert Endre Tarjan. The pairing heap: A new form of self-adjusting heap. Algorithmica, 1(1):111--129, 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Michael L. Fredman and Robert Endre Tarjan. Fibonacci heaps and their uses in improved network optimization algorithms. Journal of the ACM, 34(3):596--615, 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Bernhard Haeupler, Siddhartha Sen, and Robert Endre Tarjan. Rank-pairing heaps. In Proc. 17th Annual European Symposium on Algorithsm, volume 5757 of Lecture Notes in Computer Science, pages 659--670. Springer, 2009. SIAM Journal of Computing, to appear.Google ScholarGoogle ScholarCross RefCross Ref
  17. Peter Høyer. A general technique for implementation of efficient priority queues. In Proc. Third Israel Symposium on the Theory of Computing and Systems, pages 57--66, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Haim Kaplan and Robert E. Tarjan. New heap data structures. Technical report, Department of Computer Science, Princeton University, 1999.Google ScholarGoogle Scholar
  19. Haim Kaplan and Robert Endre Tarjan. Thin heaps, thick heaps.ACM Transactions on Algorithms, 4(1), 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Donald E. Knuth. The Art of Computer Programming, Volume I: Fundamental Algorithms, 2nd Edition. Addison-Wesley, 1973.Google ScholarGoogle Scholar
  21. Gary L. Peterson. A balanced tree scheme for meldable heaps with updates. Technical Report GIT-ICS-87-23, School of Information and Computer Science, Georgia Institute of Technology, 1987.Google ScholarGoogle Scholar
  22. Seth Pettie. Towards a final analysis of pairing heaps. In Proc. 46th Annual IEEE Symposium on Foundations of Computer Science, pages 174--183. IEEE Computer Society, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Daniel Dominic Sleator and Robert Endre Tarjan. Self-adjusting heaps.SIAM Journal of Computing, 15(1):52--69, 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Jean Vuillemin. A data structure for manipulating priority queues.Communications of the ACM, 21(4):309--315, 1978. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. John William Joseph Williams. Algorithm 232: Heapsort. Communications of the ACM, 7(6):347--348, 1964.Google ScholarGoogle Scholar

Index Terms

  1. Strict fibonacci heaps

        Recommendations

        Reviews

        Hui Liu

        In computer science, heaps are special tree-based data structures, which are commonly manipulated with operations such as create-heap , insert , find-min , and delete . Heaps have interesting properties and are widely used in theory and applications, such as sorting, graph theory, and queueing. Fredman and Tarjan's Fibonacci heap is a special heap that can achieve O (1) amortized time bounds for almost all operations. The authors of this paper investigate Fibonacci heap implementation using pointers other than arrays. The authors first introduce basic concepts and four invariants and then analyze the properties of these invariants. The time complexities for commands such as make-heap , insert , find-min , meld , and decrease-key were O (1) in the worst case. The transformations used to link two nodes are introduced next. Heap operations implemented using transformations and invariants are verified. Data structures and transformations are represented at the abstract level, and pointer-based data structures and operations are presented in detail. The ideas used in this paper are helpful to other algorithm researchers. However, no experiment was presented. It would be interesting to know the performance improvement of this new implementation. The main contribution of this paper is that the authors are the first to present pointer-based Fibonacci heap implementation. The time bounds for almost all the operations achieved O (1) in the worst case. The concepts and methods introduced in this paper are also interesting. Online Computing Reviews Service

        Access critical reviews of Computing literature here

        Become a reviewer for Computing Reviews.

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in
        • Published in

          cover image ACM Conferences
          STOC '12: Proceedings of the forty-fourth annual ACM symposium on Theory of computing
          May 2012
          1310 pages
          ISBN:9781450312455
          DOI:10.1145/2213977

          Copyright © 2012 ACM

          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: 19 May 2012

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article

          Acceptance Rates

          Overall Acceptance Rate1,469of4,586submissions,32%

          Upcoming Conference

          STOC '24
          56th Annual ACM Symposium on Theory of Computing (STOC 2024)
          June 24 - 28, 2024
          Vancouver , BC , Canada

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader