Interface MinimumDirectedSpanningTree
-
public interface MinimumDirectedSpanningTreeMinimum spanning tree algorithm for directed graphs.A spanning tree in directed graph is defined similarly to a spanning tree in undirected graph, but the 'spanning tree' does not yield a strongly connected graph, rather a tree in which all the vertices are reachable from the root. Note that differing from the undirected
MinimumSpanningTree, the root is given as part of the input, and the result spanning tree will span only the vertices reachable from the root with a single tree, and not a forest.Use
newInstance()to get a default implementation of this interface.- Author:
- Barak Ugav
-
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Modifier and Type Method Description <V,E>
MinimumSpanningTree.Result<V,E>computeMinimumDirectedSpanningTree(Graph<V,E> g, WeightFunction<E> w, V root)Compute a minimum directed spanning tree (MDST) in a directed graph, rooted at the given vertex.static MinimumDirectedSpanningTreenewInstance()Create a new directed-MST algorithm object.
-
-
-
Method Detail
-
computeMinimumDirectedSpanningTree
<V,E> MinimumSpanningTree.Result<V,E> computeMinimumDirectedSpanningTree(Graph<V,E> g, WeightFunction<E> w, V root)
Compute a minimum directed spanning tree (MDST) in a directed graph, rooted at the given vertex.Note that the returned spanning tree is a single tree that span only the vertices reachable from the root, and not a forest that span the whole graph.
If
gis anIntGraph, aMinimumSpanningTree.IResultobject will be returned. In that case, its better to pass aIWeightFunctionaswto avoid boxing/unboxing.- Type Parameters:
V- the vertices typeE- the edges type- Parameters:
g- a directed graphw- an edge weight functionroot- vertex in the graph the spanning tree will be rooted from- Returns:
- all edges composing the spanning tree
- Throws:
IllegalArgumentException- ifgis not directed
-
newInstance
static MinimumDirectedSpanningTree newInstance()
Create a new directed-MST algorithm object.This is the recommended way to instantiate a new
MinimumDirectedSpanningTreeobject.- Returns:
- a default implementation of
MinimumDirectedSpanningTree
-
-