Search results
Results from the WOW.Com Content Network
Kruskal's algorithm [1] finds a minimum spanning forest of an undirected edge-weighted graph. If the graph is connected , it finds a minimum spanning tree . It is a greedy algorithm that in each step adds to the forest the lowest-weight edge that will not form a cycle . [ 2 ]
For example, Kruskal's algorithm processes edges in turn, deciding whether to include the edge in the MST based on whether it would form a cycle with all previously chosen edges. Both Prim's algorithm and Kruskal's algorithm require processes to know the state of the whole graph, which is very difficult to discover in the message-passing model.
A third algorithm commonly in use is Kruskal's algorithm, which also takes O(m log n) time. A fourth algorithm, not as commonly used, is the reverse-delete algorithm, which is the reverse of Kruskal's algorithm. Its runtime is O(m log n (log log n) 3). All four of these are greedy algorithms.
Examples of such greedy algorithms are Kruskal's algorithm and Prim's algorithm for finding minimum spanning trees and the algorithm for finding optimum Huffman trees. Greedy algorithms appear in the network routing as well. Using greedy routing, a message is forwarded to the neighbouring node which is "closest" to the destination.
An animation of generating a 30 by 20 maze using Kruskal's algorithm. This algorithm is a randomized version of Kruskal's algorithm. Create a list of all walls, and create a set for each cell, each containing just that one cell. For each wall, in some random order: If the cells divided by this wall belong to distinct sets: Remove the current wall.
Similarly to Prim's algorithm there are components in Kruskal's approach that can not be parallelised in its classical variant. For example, determining whether or not two vertices are in the same subtree is difficult to parallelise, as two union operations might attempt to join the same subtrees at the same time.
The version given here is that proven by Nash-Williams; Kruskal's formulation is somewhat stronger. All trees we consider are finite. Given a tree T with a root, and given vertices v, w, call w a successor of v if the unique path from the root to w contains v, and call w an immediate successor of v if additionally the path from v to w contains no other vertex.
The reverse-delete algorithm is an algorithm in graph theory used to obtain a minimum spanning tree from a given connected, edge-weighted graph. It first appeared in Kruskal (1956), but it should not be confused with Kruskal's algorithm which appears in the same paper. If the graph is disconnected, this algorithm will find a minimum spanning ...