## Two new methods for transforming priority queues into double-ended priority queues (2006)

Venue: | CPH STL Report |

Citations: | 5 - 5 self |

### BibTeX

@TECHREPORT{Elmasry06twonew,

author = {Amr Elmasry and Claus Jensen and Jyrki Katajainen},

title = {Two new methods for transforming priority queues into double-ended priority queues},

institution = {CPH STL Report},

year = {2006}

}

### OpenURL

### Abstract

Abstract. Two new ways of transforming a priority queue into a double-ended priority queue are introduced. These methods can be used to improve all known bounds for the comparison complexity of double-ended priority-queue operations. Using an efficient priority queue, the first transformation can produce a doubleended priority queue which guarantees the worst-case cost of O(1) for find-min, find-max, and insert; and the worst-case cost of O(lg n) including at most lg n + O(1) element comparisons for delete, but the data structure cannot support meld efficiently. Using a meldable priority queue that supports decrease efficiently, the second transformation can produce a meldable double-ended priority queue which guarantees the worst-case cost of O(1) for find-min, find-max, and insert; the worst-case cost of O(lg n) including at most lg n + O(lg lg n) element comparisons for delete; and the worst-case cost of O(min {lg m, lg n}) for meld. Here, m and n denote the number of elements stored in the data structures prior to the operation in question, and lg n is a shorthand for log 2 (max {2, n}). 1.

### Citations

382 | Expected time bounds for selection
- Floyd, Rivest
- 1975
(Show Context)
Citation Context ...her data structure P for later use (P should efficiently support extract). We chose to implement P as a priority queue to reuse the same structure of the nodes as Q. A linear-time selection algorithm =-=[4]-=- is then used to set pivot to the value of the median element in array A. Actually, we rely on a space-efficient variant of the standard prune-and-search algorithm described in [23, Section 3.6]. For ... |

329 | Introduction to Algorithms (2nd Edition - Cormen, Leiserson, et al. - 2001 |

77 |
Relaxed heaps: An alternative to Fibonacci heaps with applications to parallel computation
- Driscoll, Gabow, et al.
- 1988
(Show Context)
Citation Context ...ng insert at the worstcase cost of O(1) are obtained via general transformations from priority queues supporting insert at the worst-case cost of O(1). Such priority queues include those described in =-=[6, 7, 10, 16, 17, 18, 19, 20, 24, 25]-=-. Also, priority queues supporting insert at the worst-case cost of O(lg n) can be modified to provide it at the worst-case cost of O(1), as shown by Alstrup et al. [1], but as a result delete would p... |

49 | Marked ancestor problems
- Alstrup, Husfeldt, et al.
- 1998
(Show Context)
Citation Context ... 7, 10, 16, 17, 18, 19, 20, 24, 25]. Also, priority queues supporting insert at the worst-case cost of O(lg n) can be modified to provide it at the worst-case cost of O(1), as shown by Alstrup et al. =-=[1]-=-, but as a result delete would perform Θ(lg n) additional element comparisons. Efficient priority queues Even though our data-structural transformations from priority queues to double-ended priority q... |

48 |
R.: Algorithm Design. Foundations, Analysis, and Internet Examples
- Goodrich, Tamassia
- 2001
(Show Context)
Citation Context ...ote the sum of instructions, element constructions, element destructions, and element comparisons performed. When defining a (double-ended) priority queue, we use the locator abstraction discussed in =-=[21]-=-. A locator is a mechanism for maintaining the association between an element and its current position in a data structure. A locator follows its element even if the element changes its position insid... |

44 |
Sorting and searching on the word RAM
- Hagerup
- 1998
(Show Context)
Citation Context ...chieve lg n + o(lg n) element comparisons per delete, if find-min, find-max, and insert are required to have the worst-case cost of O(1). We use the word RAM as our model of computation as defined in =-=[22]-=-. We ∗ Partially supported by the Danish Natural Science Research Council under contracts 21-02-0501 (project Practical data structures and algorithms) and 272-05-0272 (project Generic programming—alg... |

31 | Worst-case efficient priority queues, in
- Brodal
- 1996
(Show Context)
Citation Context ...hat delete is fast. Recall, however, that single-ended priority queues can support find-min, insert, and decrease (or find-max, insert, and increase) at the worst-case cost of O(1) (see, for example, =-=[7]-=-). Previous approaches Most realizations of a (meldable) double-ended priority queue—but not all— use two priority queues, minimum priority queue Qmin and maximum priority queue Qmax, that contain the... |

29 |
P.V.: An implicit binomial queue with constant insertion time
- Carlsson, Munro, et al.
- 1988
(Show Context)
Citation Context ...y find-min or findmax, but not both, needs to be supported. Our main focus is on the comparison complexity of double-ended priority-queue operations. To our surprise, even though many data structures =-=[2, 3, 6, 8, 10, 11, 12, 13, 15, 24, 26, 27, 29, 30, 32, 33, 35]-=- have been proposed for the realization of a (meldable) double-ended priority queue, none of them achieve lg n + o(lg n) element comparisons per delete, if find-min, find-max, and insert are required ... |

22 |
Min-Max heaps and generalized priority queues
- Atkinson, Sack, et al.
- 1986
(Show Context)
Citation Context ...y find-min or findmax, but not both, needs to be supported. Our main focus is on the comparison complexity of double-ended priority-queue operations. To our surprise, even though many data structures =-=[2, 3, 6, 8, 10, 11, 12, 13, 15, 24, 26, 27, 29, 30, 32, 33, 35]-=- have been proposed for the realization of a (meldable) double-ended priority queue, none of them achieve lg n + o(lg n) element comparisons per delete, if find-min, find-max, and insert are required ... |

18 |
Meldable heaps and Boolean union-find
- Kaplan, Shafrir, et al.
- 2002
(Show Context)
Citation Context ...ng insert at the worstcase cost of O(1) are obtained via general transformations from priority queues supporting insert at the worst-case cost of O(1). Such priority queues include those described in =-=[6, 7, 10, 16, 17, 18, 19, 20, 24, 25]-=-. Also, priority queues supporting insert at the worst-case cost of O(lg n) can be modified to provide it at the worst-case cost of O(1), as shown by Alstrup et al. [1], but as a result delete would p... |

12 |
The Deap-a double-ended heap to implement double-ended priority queues
- Carlsson
- 1987
(Show Context)
Citation Context ...y find-min or findmax, but not both, needs to be supported. Our main focus is on the comparison complexity of double-ended priority-queue operations. To our surprise, even though many data structures =-=[2, 3, 6, 8, 10, 11, 12, 13, 15, 24, 26, 27, 29, 30, 32, 33, 35]-=- have been proposed for the realization of a (meldable) double-ended priority queue, none of them achieve lg n + o(lg n) element comparisons per delete, if find-min, find-max, and insert are required ... |

11 | Fast meldable priority queues
- Brodal
- 1995
(Show Context)
Citation Context |

11 | Two-tier relaxed heaps
- Elmasry, Jensen, et al.
(Show Context)
Citation Context ...ng insert at the worstcase cost of O(1) are obtained via general transformations from priority queues supporting insert at the worst-case cost of O(1). Such priority queues include those described in =-=[6, 7, 10, 16, 17, 18, 19, 20, 24, 25]-=-. Also, priority queues supporting insert at the worst-case cost of O(lg n) can be modified to provide it at the worst-case cost of O(1), as shown by Alstrup et al. [1], but as a result delete would p... |

9 | A general technique for implementation of efficient priority queues
- Høyer
- 1995
(Show Context)
Citation Context |

9 |
Double-Ended Binomial Queues
- Khoong, Leong
- 1993
(Show Context)
Citation Context |

8 | A framework for speeding up priorityqueue operations
- Elmasry, Jensen, et al.
- 2004
(Show Context)
Citation Context |

6 |
Navigation piles with applications to sorting, priority queues, and priority deques
- Katajainen, Vitale
(Show Context)
Citation Context |

5 |
The relaxed min-max heap --- A mergeable doubleended priority queue
- Ding, Weiss
- 1993
(Show Context)
Citation Context |

4 | Relaxed weak queues: An alternative to run-relaxed heaps
- Elmasry, Jensen, et al.
- 2005
(Show Context)
Citation Context |

4 | Sorting and Searching, The Art of Computer Programming 3, 2nd Edition - Knuth - 1998 |

3 | C.P.: Symmetric min-max heap: A simpler data structure for double-ended priority queue
- Arvind, Rangan
- 1999
(Show Context)
Citation Context |

3 | A Note on Worst Case Efficient Meldable Priority Queues
- Fagerberg
- 1996
(Show Context)
Citation Context ... the elements are stored only once and the amount of extra space used is nearly cut in half. Actually, Makris et al. [30] relied on the simplification of Brodal’s data structure proposed by Fagerberg =-=[20]-=-. The results reported in [13, 30] are rephrased in Table 1 (on p. 6). A third possibility is to employ the leaf correspondence approach, where only the leaves of the data structures used for realizin... |

3 | Interval heaps
- Leeuwen, Wood
- 1993
(Show Context)
Citation Context |

3 | S.: The complexity of implicit and space-efficient priority queues - Mortensen, Pettie - 2005 |

2 |
A note on the construction of data structure “deap
- Carlsson, Chen, et al.
- 1989
(Show Context)
Citation Context ...t support general delete or meld, nor insert at the worst-case cost of O(1). For the adaptations of binary heaps—as twin heaps [28, Section 5.2.3, Exercise 31], min-max heaps [3], deaps [8] (see also =-=[9]-=-), interval heaps [29], diamond deques [11], symmetric min-max heaps [2], min-max-fine heaps [32], and min-max-pair heaps [35]—the primary concern has been simplicity and space-efficiency. Of the spac... |

2 |
Correspondence-based data structures for doubleended priority queues
- Chong, Sahni
- 2000
(Show Context)
Citation Context |

1 |
deque: A simple data structure for priority deques
- Diamond
- 1993
(Show Context)
Citation Context |

1 | Mergeable double-ended priority queues
- Cho, Sahni
- 1999
(Show Context)
Citation Context |

1 |
Reflected min-max heaps
- Makris, Tsakalidis, et al.
- 2003
(Show Context)
Citation Context |