net.sourceforge.combean.graph.alg.partition
Class SCCByDoubleDFSImpl

Package class diagram package SCCByDoubleDFSImpl
java.lang.Object
  extended by net.sourceforge.combean.graph.alg.AbstractGraphAlg
      extended by net.sourceforge.combean.graph.alg.partition.AbstractSCCImpl
          extended by net.sourceforge.combean.graph.alg.partition.SCCByDoubleDFSImpl
All Implemented Interfaces:
GraphAlgorithm, PartitioningAlg, StronglyConnectedComponentsAlg

public class SCCByDoubleDFSImpl
extends AbstractSCCImpl

This class implements the search for strongly connected components using two DFS traversals, one in the original and one in the transposed graph.

See Also:
"Introduction to Algorithms [CLR96], p. 488ff."

Constructor Summary
SCCByDoubleDFSImpl()
          constructor
 
Method Summary
 DepthFirstSearch getDfs()
           
 void run()
          Execute the algorithm.
 void setDfs(DepthFirstSearch dfs)
          Set the DFS helper algorithm.
 
Methods inherited from class net.sourceforge.combean.graph.alg.partition.AbstractSCCImpl
getVisitor, setNodeNumberingAsVisitor, setVisitor
 
Methods inherited from class net.sourceforge.combean.graph.alg.AbstractGraphAlg
getGraph, setGraph
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface net.sourceforge.combean.interfaces.graph.alg.GraphAlgorithm
getGraph, setGraph
 

Constructor Detail

SCCByDoubleDFSImpl

public SCCByDoubleDFSImpl()
constructor

Method Detail

run

public void run()
Description copied from interface: GraphAlgorithm
Execute the algorithm.


getDfs

public final DepthFirstSearch getDfs()
Returns:
Returns the dfs algorithm.

setDfs

public final void setDfs(DepthFirstSearch dfs)
Set the DFS helper algorithm. If left unset RecursiveDFSImpl will be used

Parameters:
dfs - The dfs algorithm to set.
See Also:
RecursiveDFSImpl