public static void InternalMain() { Diagraph g = new Diagraph(@"Graph/testdata/tinyDG.txt"); Console.Write(g.toString()); DirectedCycle dc = new DirectedCycle(g); Console.WriteLine(dc.hasCycle()); Console.WriteLine(Graph.PrintFormat(dc.Cycle())); }
public Topological(Diagraph G) { DirectedCycle finder = new DirectedCycle(G); if (!finder.hasCycle()) { DepthFirstOrder dfs = new DepthFirstOrder(G); order = dfs.reversePost(); rankArr = new int[G.V]; int i = 0; foreach (int v in order) { rankArr[v] = i++; } } }