private void Dfs(Digraph g, int s) { _marked[s] = true; foreach (int w in g.Adj(s)) { if (!_marked[w]) { Dfs(g, w); } } }
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); } } }
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); }