6768697071727374757677
} public void findAllSCC() { ISet nodes = graph.getNodes(); for (int i = 0; i < n; i++) { restriction.set(i, nodes.contain(i)); } findAllSCCOf(restriction); } public void findAllSCCOf(BitSet restriction) {
949596979899100101102103104
} private void findSingletons(BitSet restriction) { ISet nodes = graph.getNodes(); for (int i = restriction.nextSetBit(0); i >= 0; i = restriction.nextSetBit(i + 1)) { if (nodes.contain(i) && graph.getPredOf(i).getSize() * graph.getSuccOf(i).getSize() == 0) { nodeSCC[i] = nbSCC; sccFirstNode[nbSCC++] = i; restriction.clear(i); } }