Violation Heaps: A Better Substitute for Fibonacci Heaps

We give a priority queue that achieves the same amortized bounds as Fibonacci heaps. Namely, find-min requires O(1) worst-case time, insert, meld and decrease-key require O(1) amortized time, and delete-min requires O(log n) amortized time. Our structure is simple and promises a more efficient practical behavior compared to any other known Fibonacci-like heap.

[1]  Robert E. Tarjan,et al.  Fibonacci heaps and their uses in improved network optimization algorithms , 1984, JACM.

[2]  John T. Stasko,et al.  Pairing heaps: experiments and analysis , 1987, CACM.

[3]  Amr Elmasry,et al.  Pairing heaps with O(log log n) decrease cost , 2009, SODA.

[4]  Henry D. Shapiro,et al.  An Empirical Assessment of Algorithms for Constructing a Minimum Spanning Tree , 1992, Computational Support for Discrete Mathematics.

[5]  Haim Kaplan,et al.  Thin heaps, thick heaps , 2008, TALG.

[6]  Peter Høyer,et al.  A general technique for implementation of efficient priority queues , 1995, Proceedings Third Israel Symposium on the Theory of Computing and Systems.

[7]  Amr Elmasry,et al.  Two-tier relaxed heaps , 2006, Acta Informatica.

[8]  Amr Elmasry,et al.  Layered Heaps , 2004, SWAT.

[9]  Michael L. Fredman,et al.  On the efficiency of pairing heaps and related data structures , 1999, JACM.

[10]  Robert E. Tarjan,et al.  The pairing heap: A new form of self-adjusting heap , 2005, Algorithmica.

[11]  Jean Vuillemin,et al.  A data structure for manipulating priority queues , 1978, CACM.

[12]  Gerth Stølting Brodal,et al.  Worst-case efficient priority queues , 1996, SODA '96.

[13]  Tadao Takaoka Theory of 2-3 Heaps , 1999, COCOON.

[14]  Clifford Stein,et al.  Introduction to Algorithms, 2nd edition. , 2001 .

[15]  R. K. Shyamasundar,et al.  Introduction to algorithms , 1996 .

[16]  Seth Pettie,et al.  Towards a final analysis of pairing heaps , 2005, 46th Annual IEEE Symposium on Foundations of Computer Science (FOCS'05).

[17]  Robert E. Tarjan,et al.  Relaxed heaps: an alternative to Fibonacci heaps with applications to parallel computation , 1988, CACM.