A Framework for Speeding Up Priority-Queue Operations

We introduce a framework for reducing the number of element compari- sons performed in priority-queue operations. In particular, we give a priority queue which guarantees the worst-case cost of O(1) per minimum finding and insertion, and the worst-case cost of O(logn) with at most logn+O(1) element comparisons per minimum deletion and deletion, improving the bound of 2logn + O(1) on the number of element comparisons known for binomial queues. Here, n denotes the number of elements stored in the data structure prior to the operation in question, and logn equals max{1,log 2 n}. We also give a priority queue that provides, in addition to the above-mentioned methods, the priority-decrease (or decrease-key) method. This priority queue achieves the worst-case cost of O(1) per minimum finding, insertion, and priority decrease; and the worst-case cost of O(logn) with at most logn+O(loglogn) element comparisons per minimum deletion and deletion. CR Classification. E.1 (Data Structures): Lists, stacks, and queues; E.2 (Data Storage Representations): Linked representations; F.2.2 (Analysis of Algorithms and Problem Complexity): sorting and searching

[1]  Arnold Schönhage,et al.  Finding the Median , 1976, J. Comput. Syst. Sci..

[2]  Mark R. Brown,et al.  Implementation and Analysis of Binomial Queue Algorithms , 1978, SIAM J. Comput..

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

[4]  Jean Vuillemin,et al.  A unifying look at data structures , 1980, CACM.

[5]  Donald E. Knuth,et al.  A Programming and Problem-Solving Seminar , 1981 .

[6]  Jan van Leeuwen,et al.  Worst-Case Optimal Insertion and Deletion Methods for Decomposable Searching Problems , 1981, Inf. Process. Lett..

[7]  Robert E. Tarjan,et al.  Data structures and network algorithms , 1983, CBMS-NSF regional conference series in applied mathematics.

[8]  Robert E. Tarjan,et al.  Scaling and related techniques for geometry problems , 1984, STOC '84.

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

[10]  Gaston H. Gonnet,et al.  Heaps on Heaps , 1982, SIAM J. Comput..

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

[12]  J. Ian Munro,et al.  An Implicit Binomial Queue with Constant Insertion Time , 1988, SWAT.

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

[14]  Svante Carlsson,et al.  An Optimal Algorithm for Deleting the Root of a Heap , 1991, Inf. Process. Lett..

[15]  Jeffrey D. Ullman,et al.  A programming and problem solving seminar. , 1991 .

[16]  Alistair Moffat,et al.  An Overview of Adaptive Sorting , 1992, Aust. Comput. J..

[17]  Derick Wood,et al.  A survey of adaptive sorting algorithms , 1992, CSUR.

[18]  Christos Levcopoulos,et al.  Adaptive Heapsort , 1993, J. Algorithms.

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

[20]  Erik D. Demaine,et al.  Resizable Arrays in Optimal Time and Space , 1999, WADS.

[21]  John Iacono,et al.  Improved Upper Bounds for Pairing Heaps , 2000, SWAT.

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

[23]  Jyrki Katajainen,et al.  Experiences with the Design and Implementation of Space-Efficient Deques , 2001, Algorithm Engineering.

[24]  Rajeev Raman,et al.  An Efficient Quasidictionary , 2002, SWAT.

[25]  Fabio Vitale,et al.  Navigation Piles with Applications to Sorting, Priority Queues, and Priority Deques , 2003, Nord. J. Comput..

[26]  Amr Elmasry,et al.  Adaptive Sorting and the Information Theoretic Lower Bound , 2003, STACS.

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

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