|
ABSTRACT
We consider the implementation of meldable priority queues with integer keys in the RAM model. We present two new general techniques for transforming non-meldable priority queues into meldable ones. These transformations can be described symbolically as:non-meldable priority queue +union-find ← meldable priority queuenon-meldable priority queue +slow meldable priority queue ←faster meldable priority queueUsing the first transformation to combine a recent non-meldable RAM priority queue of Thorup with the classical union-find data structure we obtain a meldable RAM priority queue with an amortized cost of O(log log n·α(n)) per operation, where α(n) = α(n, n) is the inverse Ackermann function. Using instead a randomized priority queue of Han and Thorup we obtain an expected amortized cost of O(√(log log n) · α(n)) per operation. The second transformation yields slower meldable priority queues, but the obtained queues can support the insert, find-min and decrease-key operations in constant time. In particular, by combining a randomized "atomic-heap" of Thorup with, e.g., the classical Fibonacci heaps of Fredman and Tarjan, we obtain, for every fixed ε > 0, a meldable priority queue with an expected amortized cost of O(1) for each insert, find-min and decrease-key operation, and an expected amortized cost of O((log n)1/2+ε) for each delete or meld operation.Using the meldable priority queues of the first type, we obtain improved algorithms for finding minimum directed spanning trees in graphs with integer edge weights: a deterministic O(m · log log n · α(n)) time algorithm and a randomized O(m · √(log log n) · α(n)) expected time algorithm. These bounds improve, for very sparse graphs, on the O(m + n log n) running time of an algorithm by Gabow, Galil, Spencer and Tarjan that works for arbitrary edge weights.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
|
 |
2
|
|
| |
3
|
{Boc71} F. Bock. An algorithm to construct a minimum directed spanning tree in a directed network. in: Developments in Operations Research, Gordon and Breach, New York, pages 29--44, 1971.
|
| |
4
|
|
| |
5
|
{CFM79} P. M. Camerini, L. Fratta, and F. Maffioli. A note on finding optimum branchings. Networks, 9:309--312, 1979.
|
| |
6
|
Boris V. Cherkassky , Andrew V. Goldberg , Craig Silverstein, Buckets, Heaps, Lists, and Monotone Priority Queues, SIAM Journal on Computing, v.28 n.4, p.1326-1346, Aug. 1999
[doi> 10.1137/S0097539796313490]
|
 |
7
|
|
| |
8
|
{CL65} Y. J. Chu and T. H. Liu. On the shortest arborescence of a directed graph. Sci. Sinica, 14:1396--1400, 1965.
|
| |
9
|
|
| |
10
|
{Dij59} E. W. Dijkstra. A note on two problems in connexion with graphs. Numerische Mathematik, 1:269--271, 1959.
|
| |
11
|
|
| |
12
|
{Edm67} J. Edmonds. Optimum branchings. J. Res. Nat. Bur. Standards, 71B:233--240, 1967.
|
 |
13
|
|
| |
14
|
|
| |
15
|
|
 |
16
|
|
| |
17
|
|
 |
18
|
|
| |
19
|
|
| |
20
|
{Kar71} R. M. Karp. A simple derivation of Edmonds' algorithm for optimum branchings. Networks, 1:265--272, 1971.
|
 |
21
|
|
 |
22
|
|
| |
23
|
|
| |
24
|
{Pri57} R. C. Prim. Shortest connection networks and some generalizations. Bell System Technical Journal, 36:1389--1401, 1957.
|
 |
25
|
|
 |
26
|
|
| |
27
|
{Tar77} R. E. Tarjan. Finding optimum branchings. Networks, 7:25--35, 1977.
|
| |
28
|
|
| |
29
|
{Tar85} R. E. Tarjan. Amortized computational complexity. SIAM Journal on Algebraic and Discrete Methods, 6:306--318, 1985.
|
| |
30
|
|
| |
31
|
|
 |
32
|
|
| |
33
|
{van77} P. van Emde Boas. Preserving order in a forest in less than logarithmic time and linear space. Information Processing Letters, 6(3):80--82, 1977.
|
| |
34
|
{vKZ77} P. van Emde Boas, R. Kaas, and E. Zijlstra. Design and implementation of an efficient priority queue. Mathematical Systems Theory, 10:99--127, 1977.
|
| |
35
|
{Wil83} D. Willard. Log-logarithmic worst case range queries are possible in space O(N). Inform. Process Lett., pages 81--84, 1983.
|
|