43 void FindSCC(
Graph * __G, std::set < std::set < Node * > > & __components)
45 std::map < int, Node * > unvisitedNodes = __G->
GetNodes();
47 while (unvisitedNodes.size())
49 std::set < Node * > depthFirstSearchNodes;
50 dfs((unvisitedNodes.begin())->second, depthFirstSearchNodes);
51 __components.insert ( depthFirstSearchNodes );
52 for ( std::set < Node * >::const_iterator it = depthFirstSearchNodes.begin();
53 it != depthFirstSearchNodes.end();
55 unvisitedNodes.erase((*it)->Id());
const MapNodesById & GetNodes() const
void HYPERGRAPHLIB_ITEM dfs(Node *__n, std::set< Node * > &__depthFirstSearchNodes)
void FindSCC(Graph *__G, std::set< std::set< Node * > > &__components)