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);
                }
            }
        }
Example #2
0
 public TopologySort(Digragh g)
 {
     dfs = new OrderDigragh(g);
 }