package graphs.minspantrees; import graphs.BaseEdge; import graphs.Edge; import graphs.Graph; /** * Interface for finding a minimum spanning tree of a graph. * * @param The graph type. Must be a subtype of {@link Graph}. * @param The vertex type. * @param The edge type. Must be a subtype of {@link Edge}. */ public interface MinimumSpanningTreeFinder, V, E extends BaseEdge> { /** * Computes a minimum spanning tree for given graph, and returns a MinimumSpanningTree object * that can be queried for its edges or total weight. * * Alternatively, if no MST exists in the graph, the returned MinimumSpanningTree will have * {@link MinimumSpanningTree#exists()} false. */ MinimumSpanningTree findMinimumSpanningTree(G graph); }