pub fn min_spanning_tree<G>(g: G) -> MinSpanningTree<G> where
    <G as Data>::NodeWeight: Clone,
    <G as Data>::EdgeWeight: Clone + PartialOrd<<G as Data>::EdgeWeight>,
    G: IntoNodeReferences + IntoEdgeReferences + NodeIndexable,
Expand description

[Generic] Compute a minimum spanning tree of a graph.

The input graph is treated as if undirected.

Using Kruskal’s algorithm with runtime O(|E| log |E|). We actually return a minimum spanning forest, i.e. a minimum spanning tree for each connected component of the graph.

The resulting graph has all the vertices of the input graph (with identical node indices), and |V| - c edges, where c is the number of connected components in g.

Use from_elements to create a graph from the resulting iterator.