FindBugs™ 1.3.9

edu.umd.cs.findbugs.graph
Class StronglyConnectedComponents<GraphType extends Graph<EdgeType,VertexType>,EdgeType extends GraphEdge<EdgeType,VertexType>,VertexType extends GraphVertex<VertexType>>

java.lang.Object
  extended by edu.umd.cs.findbugs.graph.StronglyConnectedComponents<GraphType,EdgeType,VertexType>

public class StronglyConnectedComponents<GraphType extends Graph<EdgeType,VertexType>,EdgeType extends GraphEdge<EdgeType,VertexType>,VertexType extends GraphVertex<VertexType>>
extends java.lang.Object

Algorithm to find strongly connected components in a graph. Based on algorithm in Cormen et. al., Introduction to Algorithms, p. 489.


Constructor Summary
StronglyConnectedComponents()
          Constructor.
 
Method Summary
 void findStronglyConnectedComponents(GraphType g, GraphToolkit<GraphType,EdgeType,VertexType> toolkit)
          Find the strongly connected components in given graph.
 java.util.Iterator<SearchTree<VertexType>> searchTreeIterator()
          Returns an iterator over the search trees containing the vertices of each strongly connected component.
 java.util.Iterator<java.util.Set<VertexType>> setIterator()
          Returns an iterator over the sets of vertices of each strongly connected component.
 void setVertexChooser(VertexChooser<VertexType> vertexChooser)
          Specify a VertexChooser object to restrict which vertices are considered.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

StronglyConnectedComponents

public StronglyConnectedComponents()
Constructor.

Method Detail

setVertexChooser

public void setVertexChooser(VertexChooser<VertexType> vertexChooser)
Specify a VertexChooser object to restrict which vertices are considered. This is useful if you only want to find strongly connected components among a particular category of vertices.


findStronglyConnectedComponents

public void findStronglyConnectedComponents(GraphType g,
                                            GraphToolkit<GraphType,EdgeType,VertexType> toolkit)
Find the strongly connected components in given graph.

Parameters:
g - the graph
toolkit - a GraphToolkit, used to create temporary graphs used by the algorithm

searchTreeIterator

public java.util.Iterator<SearchTree<VertexType>> searchTreeIterator()
Returns an iterator over the search trees containing the vertices of each strongly connected component.

Returns:
an Iterator over a sequence of SearchTree objects

setIterator

public java.util.Iterator<java.util.Set<VertexType>> setIterator()
Returns an iterator over the sets of vertices of each strongly connected component.

Returns:
an Iterator over a sequence of Set objects

FindBugs™ 1.3.9

FindBugs™ is licenced under the LGPL. Copyright © 2006 University of Maryland.