scholarly journals Priority Queues and Multisets

10.37236/1218 ◽  
1995 ◽  
Vol 2 (1) ◽  
Author(s):  
M. D. Atkinson ◽  
S. A. Linton ◽  
L. A. Walker

A priority queue, a container data structure equipped with the operations insert and delete-minimum, can re-order its input in various ways, depending both on the input and on the sequence of operations used. If a given input $\sigma$ can produce a particular output $\tau$ then $(\sigma,\tau)$ is said to be an allowable pair. It is shown that allowable pairs on a fixed multiset are in one-to-one correspondence with certain k-way trees and, consequently, the allowable pairs can be enumerated. Algorithms are presented for determining the number of allowable pairs with a fixed input component, or with a fixed output component. Finally, generating functions are used to study the maximum number of output components with a fixed input component, and a symmetry result is derived.

1999 ◽  
Vol 10 (01) ◽  
pp. 1-17 ◽  
Author(s):  
SEONGHUN CHO ◽  
SARTAJ SAHNI

We show that the leftist tree data structure may be adapted to obtain data structures that permit the double-ended priority queue operations Insert, DeleteMin, DeleteMax, and Merge to be done in O( log n) time where n is the size of the resulting queue. The operations FindMin and FindMax can be done in O(1) time. Experimental results are also presented.


2008 ◽  
Vol Vol. 10 no. 2 (Analysis of Algorithms) ◽  
Author(s):  
Alois Panholzer

Analysis of Algorithms International audience Priority trees are a certain data structure used for priority queue administration. Under the model that all permutations of the numbers 1, . . . , n are equally likely to construct a priority tree of size n we study the following parameters in size-n trees: depth of a random node, number of right edges to a random node, and number of descendants of a random node. For all parameters studied we give limiting distribution results.


1996 ◽  
Vol 3 (37) ◽  
Author(s):  
Gerth Stølting Brodal ◽  
Chris Okasaki

Brodal recently introduced the first implementation of imperative priority queues to support findMin, insert, and meld in O(1) worst-case time, and deleteMin in O(log n) worst-case time. These bounds are asymptotically optimal among all comparison-based priority queues. In this paper, we adapt<br />Brodal's data structure to a purely functional setting. In doing so, we both simplify the data structure and clarify its relationship to the binomial queues of Vuillemin, which support all four operations in O(log n) time. Specifically, we derive our implementation from binomial queues in three steps: first, we reduce the running time of insert to O(1) by eliminating the possibility of cascading links; second, we reduce the running time of findMin to O(1) by adding a global root to hold the minimum element; and finally, we reduce the running time of meld to O(1) by allowing priority queues to contain other<br />priority queues. Each of these steps is expressed using ML-style functors. The last transformation, known as data-structural bootstrapping, is an interesting<br />application of higher-order functors and recursive structures.


2014 ◽  
Vol 2014 (7) ◽  
pp. P07014 ◽  
Author(s):  
Jan de Gier ◽  
Caley Finn
Keyword(s):  

Sign in / Sign up

Export Citation Format

Share Document