public StrongConnectedComponent(Digragh g) { this.g = g; visited = new bool[g.NumV()]; id = new int[g.NumV()]; count = 0; var order = new OrderDigragh(g.Reverse()).ReversePostOrder(); foreach (var v in order) { if (!visited[v]) { count++; Dfs(v); } } }
public TopologySort(Digragh g) { dfs = new OrderDigragh(g); }