void DFS(Digraph g, int source) { isMarked[source] = false; preOrder.Enqueue(source); foreach (int v in g.AdjList(source)) { if (!isMarked[v]) { DFS(g, v); } } postOrder.Enqueue(source); postReverseOrder.Push(source); }
void DFS(Digraph g, int source) { isMarked[source] = false; preOrder.Enqueue(source); foreach (int v in g.AdjList(source)) { if (!isMarked[v]) { DFS(g, v); } } postOrder.Enqueue(source); postReverseOrder.Push(source); }