Boruvka's algorithm
Borůvka's algorithm finds
minimum spanning trees. A minimum spanning tree is a tree containing each vertex in the graph such that the sum of the edges' weights is minimum. Each vertex in the graph finds its lightest edge, then the vertices at the ends of each lightest edge are identified. This continues until the entire graph collapses into a single point. The tree consists of all the lightest edges so found.
Borůvka's algorithm can be shown to run in time O(m log n), where m is the number of edges, and n is the number of vertices.
Other algorithms for this problem include Prim's algorithm and Kruskal's algorithm. Faster algorithms can be obtained by combining Prim's algorithm with Borůvka's. A faster algorithm due to Karger, Klein and Tarjan runs in O(m) time, where m is the number of edges in the graph.