コード例 #1
0
    public KosarajuSCC(Digraph g)
    {
        marked = new bool[g.V()];
        id     = new int[g.V()];

        Digraph reverse = g.Reverse();

        //逆后续
        DepthFirstOrder order = new DepthFirstOrder(reverse);
        Stack <int>     post  = order.ReverstPost();

        while (post.Count != 0)
        {
            //逆序深度搜索
            int v = post.Pop();
            Debug.Log(v);
            if (!marked[v])
            {
                DFS(g, v);
                count++;
            }
        }
    }