Abstract
We compare algorithms for the construction of a minimum spanning tree through largescale experimentation on randomly generated graphs of different structures and different densities. In order to extrapolate with confidence, we use graphs with up to 130,000 nodes (sparse) or 750,000 edges (dense). Algorithms included in our experiments are Prim's algorithm (implemented with a variety of priority queues), Kruskal's algorithm (using presorting or demand sorting), Cheriton and Tarjan's algorithm, and Fredman and Tarjan's algorithm. We also ran a large variety of tests to investigate low-level implementation decisions for the data structures, as well as to enable us to eliminate the effect of compilers and architectures.
Within the range of sizes used, Prim's algorithm, using pairing heaps or sometimes binary heaps, is clearly preferable. While versions of Prim's algorithm using efficient implementations of Fibonacci heaps or rank-relaxed heaps often approach and (on the densest graphs) sometimes exceed the speed of the simpler implementations, the code for binary or pairing heaps is much simpler, so that these two heaps appear to be the implementation of choice.
Some conclusions regarding implementation of priority queues also emerge from our study: in the context of a greedy algorithm, pairing heaps appear faster than other implementations, closely followed by binary, rank-relaxed and Fibonacci heaps, the latter two implemented with sacks, while splay trees finish a decided last.
This author did his work while a visiting professor at the Institut für Grundlagen der Informationsverarbeitung und Computergestützte neue Medien, Technische Universität Graz, A-8010 Graz, Austria.
Preview
Unable to display preview. Download preview PDF.
References
Cheriton, D., and R.E. Tarjan, “Finding minimum spanning trees,” SIAM J. Comput. 5 (1976), pp. 724–742.
Driscoll, J.R., H.N. Gabow, R. Shrairman, and R.E. Tarjan, “Relaxed heaps: an alternative to Fibonacci heaps with applications to parallel computation,” Comm. ACM 11 (1988), pp. 1343–1354.
Fredman, M.L., R. Sedgewick, D.D. Sleator, and R.E. Tarjan, “The pairing heap: a new form of self-adjusting heap,” Algorithmica 1 (1986), pp. 111–129.
Fredman, M.L., and R.E. Tarjan, “Fibonacci heaps and their use in improved network optimization algorithms,” Proc. 25th Ann. IEEE Symp. Foundations Comput. Sci. FOCS-84, pp. 338–346; also in final form in J. ACM 34 (1987), pp. 596–615.
Fredman, M.L., and D.E. Willard, “Trans-dichotomous algorithms for minimum spanning trees and shortest paths,” Proc. 31st Ann. IEEE Symp. Foundations Comput. Sci. FOCS-90, pp. 719–725.
Gabow, H.N., Z. Galil, T.H. Spencer, and R.E. Tarjan, “Efficient algorithms for minimum spanning trees on directed and undirected graphs,” Combinatorica 6 (1986), pp. 109–122.
Graham, R.L., and O. Hell, “On the history of the minimum spanning tree problem,” Ann. Hist. Comput. 7 (1985), pp. 43–57.
Jones, D.W. “An empirical comparison of priority-queue and event-set implementations,” Commun. ACM 29 (1986), pp. 300–311.
Johnson, D.B., “Priority queues with update and finding minimum spanning trees,” Inf. Process. Lett. 4 (1975), pp. 53–57.
Moret, B.M.E., and H.D. Shapiro. Algorithms from P to NP. Volume I: Design and Efficiency. Benjamin-Cummings, Menlo Park, CA, 1991.
Sleator, D.D., and R.E. Tarjan, “Self-adjusting binary trees,” Proc. 15th Ann. ACM Symp. Theory Comput. STOC-83, pp. 235–245; also in final form in J. ACM 32 (1985), pp. 652–686.
Stasko, J.T., and J.S. Vitter, “Pairing heaps: experiments and analysis,” Commun. ACM 30 (1987), pp. 234–249.
Tarjan, R.E. Data Structures and Network Algorithms. SIAM, Philadelphia, 1983.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1991 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Moret, B.M.E., Shapiro, H.D. (1991). An empirical analysis of algorithms for constructing a minimum spanning tree. In: Dehne, F., Sack, JR., Santoro, N. (eds) Algorithms and Data Structures. WADS 1991. Lecture Notes in Computer Science, vol 519. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0028279
Download citation
DOI: https://doi.org/10.1007/BFb0028279
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-54343-5
Online ISBN: 978-3-540-47566-8
eBook Packages: Springer Book Archive