private void DfsVisit(Digraph1 g, int u) { _ids[u] = _count; foreach (var v in g.Adj(u)) { if (!_marked[v]) { _marked[v] = true; DfsVisit(g, v); } } }
private void DfsOrderVisit(Digraph1 g, int u, Stack <int> stack) { foreach (var v in g.Adj(u)) { if (!_marked[v]) { _marked[v] = true; DfsOrderVisit(g, v, stack); } } stack.Push(u); }