An instance algorithm of class GIT_SCC< Out, In, It, OutSt, InSt, NSt, Mark > is an implementation of an algorithm that computes the strongly connected components.
Iterator version: There is an iterator version of this algorithm: SCC_It. Usage is similar to that of node iterators without the ability to go backward in the sequence and only a graph is allowed at creation time. Method compnumb() returns the component number of the current node.
#include < LEDA/graph/graph_iterator.h >
|GIT_SCC< Out, In, It, OutSt, InSt, NSt, Mark >||algorithm(OutSt ost, InSt ist, Mark ma, Out oai, const It& it, In iai)|
|creates an instance algorithm of this class bound to the stack st and data accessor ma.|
|int||algorithm.state()||returns the internal state.|
|void||algorithm.finish_algo()||executes the algorithm until finished() is true.|
|bool||algorithm.finished()||returns true if the algorithm is finished.|
|InSt&||algorithm.get_in_stack()||gives direct access to the internal stack of incoming adjacency iterators.|
|In||algorithm.in_current()||returns the current iterator of the internal stack of incoming adjacency iterators.|
|OutSt&||algorithm.get_out_stack()||gives direct access to the internal stack of outgoing adjacency iterators.|
|Out||algorithm.out_current()||returns the current iterator of the internal stack of outgoing adjacency iterators.|
|itnodetype||algorithm.current_node()||returns the current node.|
|int||algorithm.compnumb()||returns the component number of the fixed node of the current iterator if current state is NEXT_IN.|
|int||algorithm.next()||Performs one iteration of the core loop of the algorithm.|
Each operation requires constant time. The algorithm has running time (| V| + | E|) .