Click or drag to resize
PrimMST Class

The PrimMST class 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. The Weight property returns the weight of a minimum spanning tree and the Edges property returns its edges.

This implementation uses Prim's algorithm with an indexed binary heap. 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 property takes constant time and the Edges method takes time proportional to V.

For alternate implementations, see , , and .

Inheritance Hierarchy
SystemObject
  Algs4NetPrimMST

Namespace: Algs4Net
Assembly: Algs4Net (in Algs4Net.dll) Version: 1.0.0.0 (1.0.0.0)
Syntax
C#
public class PrimMST

The PrimMST type exposes the following members.

Constructors
  NameDescription
Public methodPrimMST
Compute a minimum spanning tree (or forest) of an edge-weighted graph.
Top
Properties
  NameDescription
Public propertyWeight
Returns the sum of the edge weights in a minimum spanning tree (or forest).
Top
Methods
  NameDescription
Public methodEdges
Returns the edges in a minimum spanning tree (or forest).
Public methodStatic memberMainTest
Demo test the PrimMST data type.
Top
Remarks

For additional documentation, see Section 4.3 of Algorithms, 4th Edition by Robert Sedgewick and Kevin Wayne.

This class is a C# port from the original Java class PrimMST implementation by the respective authors.

See Also