SLIDE 1
§1
MILES SPAN MINIMUM SPANNING TREES
1 Important: Before reading MILES SPAN, please read or at least skim the program for GB MILES. 1. Minimum spanning trees. A classic paper by R. L. Graham and Pavol Hell about the history
- f algorithms to find the minimum-length spanning tree of a graph [Annals of the History of Computing
7 (1985), 43–57] describes three main approaches to that problem. Algorithm 1, “two nearest fragments,” repeatedly adds a shortest edge that joins two hitherto unconnected fragments of the graph; this algorithm was first published by J. B. Kruskal in 1956. Algorithm 2, “nearest neighbor,” repeatedly adds a shortest edge that joins a particular fragment to a vertex not in that fragment; this algorithm was first published by V. Jarn´ ık in 1930. Algorithm 3, “all nearest fragments,” repeatedly adds to each existing fragment the shortest edge that joins it to another fragment; this method, seemingly the most sophisticated in concept, also turns out to be the oldest, being first published by Otakar Bor˚ uvka in 1926. The present program contains simple implementations of all three approaches, in an attempt to make practical comparisons of how they behave on “realistic” data. One of the main goals of this program is to demonstrate a simple way to make machine-independent comparisons of programs written in C, by counting memory references or “mems.” In other words, this program is intended to be read, not just performed. The author believes that mem counting sheds considerable light on the problem of determining the relative efficiency of competing algorithms for practical problems. He hopes other researchers will enjoy rising to the challenge of devising algorithms that find minimum spanning trees in significantly fewer mem units than the algorithms presented here, on problems of the size considered here. Indeed, mem counting promises to be significant for combinatorial algorithms of all kinds. The standard graphs available in the Stanford GraphBase should make it possible to carry out a large number of machine- independent experiments concerning the practical efficiency of algorithms that have previously been studied
- nly asymptotically.