## An Empirical Analysis of Algorithms for Constructing a Minimum Spanning Tree (1991)

Venue: | DIMACS Series in Discrete Mathematics and Theoretical Computer Science |

Citations: | 20 - 1 self |

### BibTeX

@INPROCEEDINGS{Moret91anempirical,

author = {Bernard M. E. Moret and Henry D. Shapiro},

title = {An Empirical Analysis of Algorithms for Constructing a Minimum Spanning Tree},

booktitle = {DIMACS Series in Discrete Mathematics and Theoretical Computer Science},

year = {1991},

pages = {400--411},

publisher = {Springer}

}

### Years of Citing Articles

### OpenURL

### Abstract

We compare algorithms for the construction of a minimum spanning tree through large-scale 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 rankrelaxed heaps often approach and (on the densest graphs) so...

### Citations

603 |
Data Structures and Network Algorithms
- Tarjan
- 1983
(Show Context)
Citation Context ...cci heaps (see [4]), rank-relaxed heaps (see [2]), and splay trees (see [11]); Kruskal's algorithm, implemented with a first sorting pass and with demand sorting; Cheriton and Tarjan's algorithm (see =-=[13]-=-); and Fredman and Tarjan's algorithm (see [4]), implemented with Fibonacci heaps---we chose this last algorithm, which runs in O(jEj \Delta fi(jEj; jV j)) time, rather than the very slightly faster a... |

575 |
Fibonacci heaps and their uses in improved network optimization algorithms
- Fredman, Tarjan
- 1987
(Show Context)
Citation Context ...our comparison-based algorithms in numerous implementations: Prim's algorithm, implemented with each of binary heaps, d-heaps, pairing heaps (for a description of which see [3]), Fibonacci heaps (see =-=[4]-=-), rank-relaxed heaps (see [2]), and splay trees (see [11]); Kruskal's algorithm, implemented with a first sorting pass and with demand sorting; Cheriton and Tarjan's algorithm (see [13]); and Fredman... |

156 |
Trans-dichotomous algorithms for minimum spanning trees and shortest paths
- Fredman, Willard
- 1994
(Show Context)
Citation Context ...ed algorithm to date, due to Gabow et al. [6], runs in almost linear time---its running time is O(jEj log fi(jEj; jV j)), where fi(m; n) = minf i j log (i) nsm=n g; very recently, Fredman and Willard =-=[5]-=- have described a linear-time algorithm that uses address arithmetic and bit manipulations. Classical algorithms have slower asymptotic running times, but also tend to be simpler. Kruskal's algorithm ... |

86 |
P.: On the history of the minimum spanning tree problem
- Graham, Hell
- 1985
(Show Context)
Citation Context ...um weight (often simply called "minimum spanning trees" or MSTs) is one of the best known graph problems; algorithms for this problem have a long history, for which see the article of Graham=-= and Hell [7]-=-. The best comparison-based algorithm to date, due to Gabow et al. [6], runs in almost linear time---its running time is O(jEj log fi(jEj; jV j)), where fi(m; n) = minf i j log (i) nsm=n g; very recen... |

86 |
An empirical comparison of priority-queue and event-set implementations
- Jones
- 1986
(Show Context)
Citation Context ...orithm, so that our study provides insights into the behavior of priority queue implementations when used within the setting of a typical greedy algorithm---thereby complementing the studies of Jones =-=[8]-=-, who experimented with various implementations of priority queues under random distributions of operations (not including DECREASEKEY), and of Stasko and Vitter [12], who experimented with a variety ... |

74 |
Relaxed Heaps: An Alternative to Fibonacci Heaps with Applications to Parallel Computation
- Driscoll, Gabow, et al.
- 1988
(Show Context)
Citation Context ...s in numerous implementations: Prim's algorithm, implemented with each of binary heaps, d-heaps, pairing heaps (for a description of which see [3]), Fibonacci heaps (see [4]), rank-relaxed heaps (see =-=[2]-=-), and splay trees (see [11]); Kruskal's algorithm, implemented with a first sorting pass and with demand sorting; Cheriton and Tarjan's algorithm (see [13]); and Fredman and Tarjan's algorithm (see [... |

67 |
Finding minimum spanning trees
- Cheriton, Tarjan
- 1976
(Show Context)
Citation Context ... O(jEj log jV j) time; Prim's algorithm runs in O(jEj log jV j) time with simple implementations and in O(jEj + jV j log jV j) with more sophisticated priority queues; Cheriton and Tarjan's algorithm =-=[1]-=- runs in O(jEj log log jV j) time. Because both Kruskal's and Prim's algorithms rarely attain their worst-case bounds and because their data structures can be maintained with very low overhead, one ca... |

48 |
The pairing heap: A new form of self-adjusting heap
- Fredman, Sedgewick, et al.
- 1986
(Show Context)
Citation Context ...perimentation. We studied four comparison-based algorithms in numerous implementations: Prim's algorithm, implemented with each of binary heaps, d-heaps, pairing heaps (for a description of which see =-=[3]-=-), Fibonacci heaps (see [4]), rank-relaxed heaps (see [2]), and splay trees (see [11]); Kruskal's algorithm, implemented with a first sorting pass and with demand sorting; Cheriton and Tarjan's algori... |

36 |
Self-adjusting binary trees
- Sleator, Tarjan
- 1983
(Show Context)
Citation Context ...ns: Prim's algorithm, implemented with each of binary heaps, d-heaps, pairing heaps (for a description of which see [3]), Fibonacci heaps (see [4]), rank-relaxed heaps (see [2]), and splay trees (see =-=[11]-=-); Kruskal's algorithm, implemented with a first sorting pass and with demand sorting; Cheriton and Tarjan's algorithm (see [13]); and Fredman and Tarjan's algorithm (see [4]), implemented with Fibona... |

31 |
Pairing heaps: Experiments and analysis
- Stasko, Vitter
- 1987
(Show Context)
Citation Context ...complementing the studies of Jones [8], who experimented with various implementations of priority queues under random distributions of operations (not including DECREASEKEY), and of Stasko and Vitter =-=[12]-=-, who experimented with a variety of pairing heap designs under a variety of distributions of operations (including DECREASEKEY). In order to avoid biassing our study because of a particular language,... |

18 |
Priority queues with update and finding minimum spanning trees
- Johnson
- 1975
(Show Context)
Citation Context ... storage reclamation (5) Pairing heaps, auxiliary two-pass Figure 2: Experimental results with priority queues for Prim's algorithm The problem is due to the manner in which d was determined. Johnson =-=[9]-=- chose d so as to balance the work of the DELETEMIN operations (jV j \Delta d log d jV j) against the DECREASEKEY operations (jEj log d jEj), a choice that can be made when starting the algorithm. How... |

13 |
Algorithms from P to NP
- Moret, Shapiro
- 1991
(Show Context)
Citation Context ...with logarithmic behavior for both operations; so do other heap structures, such as binomial queues, skew heaps, and leftist heaps. (For an overview of various implementations of priority queues, see =-=[10]-=-, Section 3.1.) A splay tree or some other search tree, ordered by keys, also offers logarithmic behavior. The best data structure, in asymptotic terms, is a rank-relaxed or a Fibonacci heap, as both ... |

4 |
Efficient algorithms for minimum spanning trees on directed and undirected graphs
- Gabow, Galil, et al.
- 1986
(Show Context)
Citation Context ...e of the best known graph problems; algorithms for this problem have a long history, for which see the article of Graham and Hell [7]. The best comparison-based algorithm to date, due to Gabow et al. =-=[6]-=-, runs in almost linear time---its running time is O(jEj log fi(jEj; jV j)), where fi(m; n) = minf i j log (i) nsm=n g; very recently, Fredman and Willard [5] have described a linear-time algorithm th... |