public CycleDetect(DiGraph g) { marked = new boolean[g.V()]; onStack = new boolean[g.V()]; edgeTo = new int[g.V()]; for (int v = 0; v < g.V(); v++) if (!marked(v)) dfs(g, v); }