edu.princeton.cs.algs4
Class BoruvkaMST
- java.lang.Object
-
- edu.princeton.cs.algs4.BoruvkaMST
-
public class BoruvkaMST extends java.lang.ObjectTheBoruvkaMSTclass represents a data type for computing a minimum spanning tree in an edge-weighted graph. The edge weights can be positive, zero, or negative and need not be distinct. If the graph is not connected, it computes a minimum spanning forest, which is the union of minimum spanning trees in each connected component. Theweight()method returns the weight of a minimum spanning tree and theedges()method returns its edges.This implementation uses Boruvka's algorithm and the union-find data type. The constructor takes time proportional to E log V and extra space (not including the graph) proportional to V, where V is the number of vertices and E is the number of edges. Afterwards, the
weight()method takes constant time and theedges()method takes time proportional to V.For additional documentation, see Section 4.3 of Algorithms, 4th Edition by Robert Sedgewick and Kevin Wayne. For alternate implementations, see
LazyPrimMST,PrimMST, andKruskalMST.
-
-
Constructor Summary
Constructors Constructor and Description BoruvkaMST(EdgeWeightedGraph G)Compute a minimum spanning tree (or forest) of an edge-weighted graph.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method and Description java.lang.Iterable<Edge>edges()Returns the edges in a minimum spanning tree (or forest).static voidmain(java.lang.String[] args)Unit tests theBoruvkaMSTdata type.doubleweight()Returns the sum of the edge weights in a minimum spanning tree (or forest).
-
-
-
Constructor Detail
-
BoruvkaMST
public BoruvkaMST(EdgeWeightedGraph G)
Compute a minimum spanning tree (or forest) of an edge-weighted graph.- Parameters:
G- the edge-weighted graph
-
-
Method Detail
-
edges
public java.lang.Iterable<Edge> edges()
Returns the edges in a minimum spanning tree (or forest).- Returns:
- the edges in a minimum spanning tree (or forest) as an iterable of edges
-
weight
public double weight()
Returns the sum of the edge weights in a minimum spanning tree (or forest).- Returns:
- the sum of the edge weights in a minimum spanning tree (or forest)
-
main
public static void main(java.lang.String[] args)
Unit tests theBoruvkaMSTdata type.- Parameters:
args- the command-line arguments
-
-
DataMelt 3.0 © DataMelt by jWork.ORG