/**** * * Class GraphMethods contains two graph methods for generating a dependency * list and minimum spanning tree. * * @author * @version */ public class GraphMethods { /** * Generate a list of dependency lists for each node in the given directed * graph g. For a given node n, a dependency list for n is defined as the * list of nodes which appear before n in the directed graph, in reverse * graph order. For nodes that have no dependencies, the dependency list * is null. If a node has more than one dependency list, each list is * entered separately in the outer list, per the ordering described in the * next paragraph. *

* The output list is sorted by dependency list length, from shortest to * longest. For nodes with the same length dependency list, the secondary * sorting order is by ascending node value, using compareTo on values. *

* Valid output is only produced for acyclic graphs. If the input graph * has one or more cycles, the CycleFound exception is thrown. */ public GeneralList dependencyLists(Graph g) throws CycleFound {} /** * Generate a minimum spanning tree for the given undirected, weighted * graph g using Kruskal's algorithm. The output is the GeneralTree * representation of the minimum spanning tree. */ public GeneralTree spanningTree(Graph g) {} }