public StrongComponents(Graph g) { this.g = g; S = new Stack<int>(); id = new int[g.V]; pre = new int[g.V]; low = new int[g.V]; for (var i = 0; i < g.V; i++) { id[i] = -1; pre[i] = -1; low[i] = -1; } for (var v = g.V - 1; v >= 0; v--) { if (pre[v] == -1) { StrongComponentsRecursive(v); } } }