|
ABSTRACT
In this paper we develop a new data structure for implementing heaps (priority queues). Our structure, Fibonacci heaps (abbreviated F-heaps), extends the binomial queues proposed by Vuillemin and studied further by Brown. F-heaps support arbitrary deletion from an n-item heap in O(log n) amortized time and all other standard heap operations in O(1) amortized time. Using F-heaps we are able to obtain improved running times for several network optimization algorithms. In particular, we obtain the following worst-case bounds, where n is the number of vertices and m the number of edges in the problem graph:
- O(n log n + m) for the single-source shortest path problem with nonnegative edge lengths, improved from O(mlog(m/n+2)n);
- O(n2log n + nm) for the all-pairs shortest path problem, improved from O(nm log(m/n+2)n);
- O(n2log n + nm) for the assignment problem (weighted bipartite matching), improved from O(nmlog(m/n+2)n);
- O(m&bgr;(m, n)) for the minimum spanning tree problem, improved from O(mlog log(m/n+2)n); where &bgr;(m, n) = min {i ↿ log(i)n ≤ m/n}. Note that &bgr;(m, n) ≤ log*n if m ≥ n.
Of these results, the improved bound for minimum spanning trees is the most striking, although all the results give asymptotic improvements for graphs of appropriate densities.
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
|
BROWN, M.R. Implementation and analysis of binomial queue algorithms. SIAM J. Comput. 7, 3 (Aug. 1978), 298-319.
|
| |
3
|
CAMERINI, P. M., FRATTA, L., AND MAFFIOLI, F. A note on finding optimum branchings. Networks 9, 4 (Winter 1979), 309-312.
|
| |
4
|
CHERITON, D., AND TARJAN, R.E. Finding minimum spanning trees. SIAM J. Comput. 5, 4 (Dec. 1976), 724-742.
|
| |
5
|
DIJKSTRA, E.W. A note on two problems in connexion with graphs. Numer. Math. 1, 4 (Sept. 1959), 269-27 i.
|
 |
6
|
|
| |
7
|
|
| |
8
|
GABOW, H. N., AND TARJAN, R. E. Efficient algorithms for a family of matroid intersection problems. J. Algorithms 5, 1 (Mar. 1984), 80-131.
|
| |
9
|
GABOW, H. N., GALIL, Z., AND SPENCER, T. Efficient implementation of graph algorithms using contraction. In Proceedings of the 25th Annual IEEE Symposium on Foundations of Computing. (Singer Island, Fla., Oct. 24-26). }EEL Press, New York, 1984 pp. 338-346.
|
| |
10
|
|
| |
11
|
GRAHAM, R. L., AND HELL, P. On the history of the minimum spanning tree problem. Ann. Hist. Comput. 7, I (Jan. 1985), 43-57.
|
| |
12
|
JARNIK, V. O jist6m probl6mu minimalnim. Prdca Moravskb PT'irodovbdeckb Spoleknosti 6 (1930), 57-63 (in Czechoslovakian).
|
 |
13
|
|
| |
14
|
|
| |
15
|
KNtrrH, D.E. The Art of Computer Programming. Vol. 3, Sorting and Searching. Addison- Wesley, Reading, Mass., 1973.
|
| |
16
|
KNUTH, D.E. A generalization of Dijkstra's algorithm. Inf. Process. Lett. 6, 1 (Feb. 1977), 1-5.
|
| |
17
|
KOMLOS, J. Linear verification for spanning trees. In Proceedings of the 25th Annual IEEE Symposium on Foundations of Computing. (Singer Island, Fla., Oct. 24-26). IEEE Press, New York, 1984 pp. 201-206.
|
| |
18
|
PRIM, R.C. Shortest connection networks and some generalizations. Bell Syst. Tech. ~ 36, 6 (Nov. 1957), 1389-1401.
|
| |
19
|
|
| |
20
|
SUURBALLE, J. W., AND TARJAN, R. E. A quick method for finding shortest pairs of paths. Networks 14 (1984), 325-336.
|
| |
21
|
TAIUAN, R.E. Finding optimum branchings. Networks 7, 1 (Spring 1977), 25-35.
|
| |
22
|
TARJAN, R. E. A class of algorithms which require nonlinear time to maintain disjoint sets. I. Comput. Syst. Sci. 18, 2 (Apr. 1979), 110-127.
|
 |
23
|
|
| |
24
|
|
| |
25
|
TARJAN, R.E. Amortized computational complexity. SIAM J. Algebraic Discrete Methods 6, 2 (Apr. 1985), 306-318.
|
 |
26
|
|
 |
27
|
|
| |
28
|
YAO, A. An O(IEI log log I V I) algorithm for finding minimum spanning trees. Inf. Process, Lett. 4, I (Sept. 1975), 21-23.
|
CITED BY 186
|
|
|
|
|
|
|
|
Samir Khuller , Balaji Raghavachari , Neal Young, Balancing minimum spanning and shortest path trees, Proceedings of the fourth annual ACM-SIAM Symposium on Discrete algorithms, p.243-250, January 25-27, 1993, Austin, Texas, United States
|
|
|
|
|
|
|
|
|
M. W. Bern , H. J. Karloff , P. Raghavan , B. Schieber, Fast geometric approximation techniques and geometric embedding problems, Proceedings of the fifth annual symposium on Computational geometry, p.292-301, June 05-07, 1989, Saarbruchen, West Germany
|
|
|
Danny Z. Chen , Kevin S. Klenk , Hung-Yi T. Tu, Shortest path queries among weighted obstacles in the rectilinear plane, Proceedings of the eleventh annual symposium on Computational geometry, p.370-379, June 05-07, 1995, Vancouver, British Columbia, Canada
|
|
|
|
|
|
|
|
|
|
|
|
Seth Pettie , Vijaya Ramachandran, Minimizing randomness in minimum spanning tree, parallel connectivity, and set maxima algorithms, Proceedings of the thirteenth annual ACM-SIAM symposium on Discrete algorithms, p.713-722, January 06-08, 2002, San Francisco, California
|
|
|
|
|
|
|
|
|
Boris V. Cherkassky , Andrew V. Goldberg , Tomasz Radzik, Shortest paths algorithms: theory and experimental evaluation, Proceedings of the fifth annual ACM-SIAM symposium on Discrete algorithms, p.516-525, January 23-25, 1994, Arlington, Virginia, United States
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Guy Even , Joseph (Seffi) Naor , Satish Rao , Baruch Schieber, Fast approximate graph partitioning algorithms, Proceedings of the eighth annual ACM-SIAM symposium on Discrete algorithms, p.639-648, January 05-07, 1997, New Orleans, Louisiana, United States
|
|
|
Haim Kaplan , Robert E. Tarjan , Kostas Tsioutsiouliklis, Faster kinetic heaps and their use in broadcast scheduling, Proceedings of the twelfth annual ACM-SIAM symposium on Discrete algorithms, p.836-844, January 07-09, 2001, Washington, D.C., United States
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
P. Klein , C. Stein , É. Tardos, Leighton-Rao might be practical: faster approximation algorithms for concurrent flow with uniform capacities, Proceedings of the twenty-second annual ACM symposium on Theory of computing, p.310-321, May 13-17, 1990, Baltimore, Maryland, United States
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Giorgio Ausiello , Giuseppe F. Italiano , Alberto Marchetti Spaccamela , Umberto Nanni, Incremental algorithms for minimal length paths, Proceedings of the first annual ACM-SIAM symposium on Discrete algorithms, p.12-21, January 22-24, 1990, San Francisco, California, United States
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Boris V. Cherkassky , Andrew V. Goldberg , Craig Silverstein, Buckets, heaps, lists, and monotone priority queues, Proceedings of the eighth annual ACM-SIAM symposium on Discrete algorithms, p.83-92, January 05-07, 1997, New Orleans, Louisiana, United States
|
|
|
|
|
|
|
|
|
|
|
|
Benny Lehmann , Daniel Lehmann , Noam Nisan, Combinatorial auctions with decreasing marginal utilities, Proceedings of the 3rd ACM conference on Electronic Commerce, p.18-28, October 14-17, 2001, Tampa, Florida, USA
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Lyudmil Aleksandrov , Anil Maheshwari , Jörg-Rüdiger Sack, Approximation algorithms for geometric shortest path problems, Proceedings of the thirty-second annual ACM symposium on Theory of computing, p.286-295, May 21-23, 2000, Portland, Oregon, United States
|
|
|
|
|
|
Philip Klein , Satish Rao , Monika Rauch , Sairam Subramanian, Faster shortest-path algorithms for planar graphs, Proceedings of the twenty-sixth annual ACM symposium on Theory of computing, p.27-37, May 23-25, 1994, Montreal, Quebec, Canada
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Siddarameshwar Bagali , Warren N. Waggenspack, Jr., A shortest path approach to wireframe to solid model conversion, Proceedings of the third ACM symposium on Solid modeling and applications, p.339-350, May 17-19, 1995, Salt Lake City, Utah, United States
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ying Xu , Dong Xu , Dongsup Kim , Victor Olman , Jane Razumovskaya , Tao Jiang, Nuclear magnetic resonance: automated assignment of backbone NMR peaks using constrained bipartite matching, Computing in Science and Engineering, v.4 n.1, p.50-62, January/February 2002
|
|
|
|
|
|
|
|
|
Michal Feldman , Kevin Lai , Li Zhang, A price-anticipating resource allocation mechanism for distributed shared clusters, Proceedings of the 6th ACM conference on Electronic commerce, p.127-136, June 05-08, 2005, Vancouver, BC, Canada
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Pompeu Casanovas , Nuria Casellas , Joan-Josep Vallbé , Marta Poblet , Francesc Ramos , Jesús Gorroñogoitia , Jesús Contreras , Mercedes Blázquez , Richard Benjamins, Iuriservice II: ontology development and architectural design, Proceedings of the 10th international conference on Artificial intelligence and law, June 06-11, 2005, Bologna, Italy
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Amr Elmasry , Claus Jensen , Jyrki Katajainen, On the power of structural violations in priority queues, Proceedings of the thirteenth Australasian symposium on Theory of computing, p.45-53, January 30-February 02, 2007, Ballarat, Victoria, Australia
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
A. Okabe , T. Satoh , T. Furuta , A. Suzuki , K. Okano, Generalized network Voronoi diagrams: Concepts, computational methods, and applications, International Journal of Geographical Information Science, v.22 n.9, p.965-994, January 2008
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
REVIEW
"Hausi Albert Muller : Reviewer"
The authors of this paper define a collection of new data structures called
Fibonacci heaps> or F-heaps> for implementing heaps or priority queues.
F-heaps support the delete> and delete min> operations in
more...
|