Package soot.toolkits.graph
Class StronglyConnectedComponentsFast<N>
- java.lang.Object
-
- soot.toolkits.graph.StronglyConnectedComponentsFast<N>
-
public class StronglyConnectedComponentsFast<N> extends Object
Identifies and provides an interface to query the strongly-connected components of DirectedGraph instances. Uses Tarjan's algorithm.- Author:
- Eric Bodden Changes: 2015/08/23 Steven Arzt, added an iterative version of Tarjan's algorithm for large graphs
- See Also:
DirectedGraph
-
-
Field Summary
Fields Modifier and Type Field Description protected List<List<N>>componentListprotected DirectedGraph<N>gprotected intindexprotected Map<N,Integer>indexForNodeprotected Map<N,Integer>lowlinkForNodeprotected FastStack<N>sprotected List<List<N>>trueComponentList
-
Constructor Summary
Constructors Constructor Description StronglyConnectedComponentsFast(DirectedGraph<N> g)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description List<List<N>>getComponents()List<List<N>>getTrueComponents()protected voiditerate(N x)protected voidrecurse(N v)
-
-
-
Field Detail
-
index
protected int index
-
g
protected DirectedGraph<N> g
-
-
Constructor Detail
-
StronglyConnectedComponentsFast
public StronglyConnectedComponentsFast(DirectedGraph<N> g)
- Parameters:
g- a graph for which we want to compute the strongly connected components.- See Also:
DirectedGraph
-
-