Algorithmica

, Volume 1, Issue 1–4, pp 111–129 | Cite as

The pairing heap: A new form of self-adjusting heap

  • Michael L. Fredman
  • Robert Sedgewick
  • Daniel D. Sleator
  • Robert E. Tarjan
Article

Abstract

Recently, Fredman and Tarjan invented a new, especially efficient form of heap (priority queue) called theFibonacci heap. Although theoretically efficient, Fibonacci heaps are complicated to implement and not as fast in practice as other kinds of heaps. In this paper we describe a new form of heap, called thepairing heap, intended to be competitive with the Fibonacci heap in theory and easy to implement and fast in practice. We provide a partial complexity analysis of pairing heaps. Complete analysis remains an open problem.

Key Words

Data structure Heap Priority queue 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [1]
    M. R. Brown, “Implementation and analysis of binomial queue algorithms,”SIAM J. Comput. 7 (1978), 298–319.MATHCrossRefMathSciNetGoogle Scholar
  2. [2]
    C. A. Crane, “Linear lists and priority queues as balanced binary trees,” Technical Report STAN-CS-72-259, Computer Science Department, Stanford University, Stanford, CA, 1972.Google Scholar
  3. [3]
    R. W. Floyd, “Algorithm 245: Treesort 3,”Comm. ACM 7 (1964), 701.CrossRefGoogle Scholar
  4. [4]
    M. L. Fredman and R. E. Tarjan, “Fibonacci heaps and their uses in improved network optimization algorithms,”J. Assoc. Comput. Mach., submitted; alsoProc. 25th Annual IEEE Symp. on Found. of Comput. Sci. (1984), 338–346.Google Scholar
  5. [5]
    H. N. Gabow, Z. Galil, and T. Spencer, “Efficient implementation of graph algorithms using contraction,”Proc. 25th Annual IEEE Symp. on Found. of Comput. Sci. (1984).Google Scholar
  6. [6]
    H. N. Gabow, Z. Galil, T. Spencer, and R. E. Tarjan, “Efficient algorithms for finding minimum spanning trees in undirected and directed graphs,”Combinatorica, to appear.Google Scholar
  7. [7]
    D. W. Jones, “An empirical comparison of priority queues and event set algorithms,”Comm. ACM, submitted.Google Scholar
  8. [8]
    D. E. Knuth,The Art of Computer Programming, Vol. 1: Fundamental Algorithms, Second Edition, Addison-Wesley, Reading, MA, 1973.Google Scholar
  9. [9]
    D. E. Knuth,The Art of Computer Programming, Vol. 3:Sorting and Searching, Addison-Wesley, Reading, MA, 1973.Google Scholar
  10. [10]
    D. D. Sleator and R. E. Tarjan, “Self-adjusting binary trees, Proc. 15th AnnualACM Symp. on Theory of Comput. (1983), 235–245.Google Scholar
  11. [11]
    D. D. Sleator and R. E. Tarjan, “Self-adjusting heaps,”SIAM J. Comput., to appear.Google Scholar
  12. [12]
    D. D. Sleator and R. E. Tarjan, “Self-adjusting binary search trees,”J. Assoc. Comput. Mach. 32 (1985), 652–686.MATHMathSciNetGoogle Scholar
  13. [13]
    R. E. Tarjan,Data Structures and Network Algorithms, CBMS 44, Society for Industrial and Applied Mathematics, Philadelphia, PA, 1983.Google Scholar
  14. [14]
    R. E. Tarjan, “Amortized computational complexity,”SIAM J. Alg. Disc. Meth. 6 (1985), 306–318.MATHCrossRefMathSciNetGoogle Scholar
  15. [15]
    J. Vuillemin, “A data structure for manipulating priority queues,”Comm. ACM 21 (1978), 309–314.MATHCrossRefMathSciNetGoogle Scholar
  16. [16]
    J. W. J. Williams, “Algorithm 232: Heapsort,”Comm. ACM 7 (1964), 347–348.Google Scholar

Copyright information

© Springer-Verlag 1986

Authors and Affiliations

  • Michael L. Fredman
    • 1
  • Robert Sedgewick
    • 2
  • Daniel D. Sleator
    • 3
  • Robert E. Tarjan
    • 2
    • 3
  1. 1.EECS DepartmentUniversity of CaliforniaSan Diego, La JollaUSA
  2. 2.Computer Science DepartmentPrinceton UniversityPrincetonUSA
  3. 3.AT & T Bell LaboratoriesMurray HillUSA

Personalised recommendations