## Project proposal: A meldable, iterator-valid priority queue, CPH (2005)

Citations: | 2 - 2 self |

### BibTeX

@TECHREPORT{Katajainen05projectproposal:,

author = {Jyrki Katajainen},

title = {Project proposal: A meldable, iterator-valid priority queue, CPH},

institution = {},

year = {2005}

}

### OpenURL

### Abstract

Abstract. The Standard Template Library (STL) is a library of generic algorithms and data structures that has been incorporated in the C++ standard and ships with all modern C++ compilers. In the CPH STL project the goal is to implement an enhanced edition of the STL. The priority-queue class of the STL is just an adapter that makes any resizable array to a queue in which the elements stored are arranged according to a given ordering function. In the C++ standard no compulsory support for the operations delete(), increase(), or meld() is demanded even if those are utilized in many algorithms solving graph-theoretic or geometric problems. In this project, the goal is to implement a CPH STL extension of the priority-queue class which provides, in addition to the normal priority-queue functionality, the operations delete(), increase(), and meld(). To make the first two of these operations possible, the class must also guarantee that external references to compartments inside the data structure are kept valid at all times.

### Citations

319 |
Introduction to Algorithms, 2 nd edition
- Cormen, Leiserson, et al.
- 2001
(Show Context)
Citation Context ... 19]. All these three operations can be realized faster using other meldable priority-queue structures. Any of the priority-queue structures presented in the algorithmic literature (see, for example, =-=[5, 8]-=- and the references mentioned therein) can be used as the basis of the implementation work. Especially noteworthy alternatives to binary heaps are the following data structures, but other data structu... |

148 |
Algorithm 232: Heapsort
- Williams
- 1964
(Show Context)
Citation Context ...can be found from the C++ standard [1, Clause 23], or any other source on the STL. In the CPH STL [6], the current implementation (see appendix C) of the priority-queue class is based on binary heaps =-=[21]-=-. In this project, the goal is to develop competitors for binary heaps, and to compare the efficiency of these new priority-queue realizations against the binary-heap implementation. The challenges li... |

86 | A data structure for manipulating priority queues
- Vuillemin
- 1978
(Show Context)
Citation Context ...mplementation work. Especially noteworthy alternatives to binary heaps are the following data structures, but other data structures may be considered as well: Data structure Reference Binomial queues =-=[20]-=- (see also [5, Chapter 19]) Brodal’s heaps [2] Fat heaps [13, 14] Leftist trees [4] (see also [15, Section 5.2.3]) Maxiphobic heaps [16] Multiary heaps [12] Navigation piles [11] Relaxed weak queues [... |

74 |
Relaxed Heaps: An Alternative to Fibonacci Heaps with Applications to Parallel Computation
- Driscoll, Gabow, et al.
- 1988
(Show Context)
Citation Context ...r 19]) Brodal’s heaps [2] Fat heaps [13, 14] Leftist trees [4] (see also [15, Section 5.2.3]) Maxiphobic heaps [16] Multiary heaps [12] Navigation piles [11] Relaxed weak queues [9] Run-relaxed heaps =-=[7, 10]-=- Space-efficient heaps [3] Be aware that some of these data structures are rather complicated. Now you have be warned! Let n denote the number of elements stored or to be stored in the data structure.... |

31 | Worst-case efficient priority queues, in
- Brodal
- 1996
(Show Context)
Citation Context ...natives to binary heaps are the following data structures, but other data structures may be considered as well: Data structure Reference Binomial queues [20] (see also [5, Chapter 19]) Brodal’s heaps =-=[2]-=- Fat heaps [13, 14] Leftist trees [4] (see also [15, Section 5.2.3]) Maxiphobic heaps [16] Multiary heaps [12] Navigation piles [11] Relaxed weak queues [9] Run-relaxed heaps [7, 10] Space-efficient h... |

18 |
Priority queues with update and finding minimum spanning trees
- Johnson
- 1975
(Show Context)
Citation Context ...l: Data structure Reference Binomial queues [20] (see also [5, Chapter 19]) Brodal’s heaps [2] Fat heaps [13, 14] Leftist trees [4] (see also [15, Section 5.2.3]) Maxiphobic heaps [16] Multiary heaps =-=[12]-=- Navigation piles [11] Relaxed weak queues [9] Run-relaxed heaps [7, 10] Space-efficient heaps [3] Be aware that some of these data structures are rather complicated. Now you have be warned! Let n den... |

18 |
Meldable heaps and Boolean union-find
- Kaplan, Shafrir, et al.
- 2002
(Show Context)
Citation Context ...ary heaps are the following data structures, but other data structures may be considered as well: Data structure Reference Binomial queues [20] (see also [5, Chapter 19]) Brodal’s heaps [2] Fat heaps =-=[13, 14]-=- Leftist trees [4] (see also [15, Section 5.2.3]) Maxiphobic heaps [16] Multiary heaps [12] Navigation piles [11] Relaxed weak queues [9] Run-relaxed heaps [7, 10] Space-efficient heaps [3] Be aware t... |

12 |
New heap data structures
- Kaplan, Tarjan
- 1999
(Show Context)
Citation Context ...ary heaps are the following data structures, but other data structures may be considered as well: Data structure Reference Binomial queues [20] (see also [5, Chapter 19]) Brodal’s heaps [2] Fat heaps =-=[13, 14]-=- Leftist trees [4] (see also [15, Section 5.2.3]) Maxiphobic heaps [16] Multiary heaps [12] Navigation piles [11] Relaxed weak queues [9] Run-relaxed heaps [7, 10] Space-efficient heaps [3] Be aware t... |

11 | Two-tier relaxed heaps
- Elmasry, Jensen, et al.
(Show Context)
Citation Context ...r 19]) Brodal’s heaps [2] Fat heaps [13, 14] Leftist trees [4] (see also [15, Section 5.2.3]) Maxiphobic heaps [16] Multiary heaps [12] Navigation piles [11] Relaxed weak queues [9] Run-relaxed heaps =-=[7, 10]-=- Space-efficient heaps [3] Be aware that some of these data structures are rather complicated. Now you have be warned! Let n denote the number of elements stored or to be stored in the data structure.... |

10 | Weight-biased leftist trees and modified skip lists
- Cho, Sahni
- 1998
(Show Context)
Citation Context ...wing data structures, but other data structures may be considered as well: Data structure Reference Binomial queues [20] (see also [5, Chapter 19]) Brodal’s heaps [2] Fat heaps [13, 14] Leftist trees =-=[4]-=- (see also [15, Section 5.2.3]) Maxiphobic heaps [16] Multiary heaps [12] Navigation piles [11] Relaxed weak queues [9] Run-relaxed heaps [7, 10] Space-efficient heaps [3] Be aware that some of these ... |

8 | A framework for speeding up priorityqueue operations
- Elmasry, Jensen, et al.
- 2004
(Show Context)
Citation Context ... 19]. All these three operations can be realized faster using other meldable priority-queue structures. Any of the priority-queue structures presented in the algorithmic literature (see, for example, =-=[5, 8]-=- and the references mentioned therein) can be used as the basis of the implementation work. Especially noteworthy alternatives to binary heaps are the following data structures, but other data structu... |

7 |
A characterization of heaps and its applications
- Sack, Strothotte
- 1990
(Show Context)
Citation Context ...rt()sA meldable, iterator-valid priority queue 3 and increase() having logarithmic worst-case cost for binary heaps, and meld() having polylogarithmic worst-case cost for (pointer-based) binary heaps =-=[17, 18, 19]-=-. All these three operations can be realized faster using other meldable priority-queue structures. Any of the priority-queue structures presented in the algorithmic literature (see, for example, [5, ... |

4 | Relaxed weak queues: An alternative to run-relaxed heaps
- Elmasry, Jensen, et al.
- 2005
(Show Context)
Citation Context ...] (see also [5, Chapter 19]) Brodal’s heaps [2] Fat heaps [13, 14] Leftist trees [4] (see also [15, Section 5.2.3]) Maxiphobic heaps [16] Multiary heaps [12] Navigation piles [11] Relaxed weak queues =-=[9]-=- Run-relaxed heaps [7, 10] Space-efficient heaps [3] Be aware that some of these data structures are rather complicated. Now you have be warned! Let n denote the number of elements stored or to be sto... |

4 |
An algorithm for merging heaps
- Sack, Strothotte
- 1985
(Show Context)
Citation Context ...rt()sA meldable, iterator-valid priority queue 3 and increase() having logarithmic worst-case cost for binary heaps, and meld() having polylogarithmic worst-case cost for (pointer-based) binary heaps =-=[17, 18, 19]-=-. All these three operations can be realized faster using other meldable priority-queue structures. Any of the priority-queue structures presented in the algorithmic literature (see, for example, [5, ... |

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

2 | Putting your data structure on a diet
- Brönnimann, Katajainen, et al.
- 2007
(Show Context)
Citation Context ...heaps [13, 14] Leftist trees [4] (see also [15, Section 5.2.3]) Maxiphobic heaps [16] Multiary heaps [12] Navigation piles [11] Relaxed weak queues [9] Run-relaxed heaps [7, 10] Space-efficient heaps =-=[3]-=- Be aware that some of these data structures are rather complicated. Now you have be warned! Let n denote the number of elements stored or to be stored in the data structure. The resulting implementat... |

2 | An experimental evaluation of navigation piles
- Jensen, Katajainen
- 2006
(Show Context)
Citation Context ...rence Binomial queues [20] (see also [5, Chapter 19]) Brodal’s heaps [2] Fat heaps [13, 14] Leftist trees [4] (see also [15, Section 5.2.3]) Maxiphobic heaps [16] Multiary heaps [12] Navigation piles =-=[11]-=- Relaxed weak queues [9] Run-relaxed heaps [7, 10] Space-efficient heaps [3] Be aware that some of these data structures are rather complicated. Now you have be warned! Let n denote the number of elem... |

2 |
Alternatives to two classic data structures
- Okasaki
- 2005
(Show Context)
Citation Context ...be considered as well: Data structure Reference Binomial queues [20] (see also [5, Chapter 19]) Brodal’s heaps [2] Fat heaps [13, 14] Leftist trees [4] (see also [15, Section 5.2.3]) Maxiphobic heaps =-=[16]-=- Multiary heaps [12] Navigation piles [11] Relaxed weak queues [9] Run-relaxed heaps [7, 10] Space-efficient heaps [3] Be aware that some of these data structures are rather complicated. Now you have ... |