示例#1
0
 private void Dfs(Digraph g, int s)
 {
     _marked[s] = true;
     foreach (int w in g.Adj(s))
     {
         if (!_marked[w])
         {
             Dfs(g, w);
         }
     }
 }
示例#2
0
 private void Dfs(Digraph g, int v)
 {
     marked[v] = true;
     id[v]     = count;
     foreach (int w in g.Adj(v))
     {
         if (!marked[w])
         {
             Dfs(g, w);
         }
     }
 }
示例#3
0
        private void Dfs(Digraph dg, int v)
        {
            preQueue.Enqueue(v);
            marked[v] = true;

            foreach (int w in dg.Adj(v))
            {
                if (!marked[w])
                {
                    Dfs(dg, w);
                }
            }

            postQueue.Enqueue(v);
            reversePost.Push(v);
        }