|Home >> All >> Util >> [ Graphs Javadoc ]|
Util.Graphs: Javadoc index of package Util.Graphs.
SCComponent: SCComponent models a Strongly connected component \ of a graph. The only way to split a graph into SCComponent s is though buildSSC . That method is quite flexible: all it needs is a root node (or a set of root nodes) and a Navigator : an object implementing the Navigator interface that provides the edges coming into/going out of a given Object . So, it can build strongly connected components even for graphs that are not built up from CFGraphable nodes, a good example being the set of methods where the edges represent the caller-callee relation (in this case, the strongly connected components group ...
Navigator: The Navigator interface allows graph algorithms to detect (and use) the arcs from and to a certain node. This allows the use of many graph algorithms (eg construction of strongly connected components) even for very general graphs where the arcs model only a subtle semantic relation (eg caller-callee) that is not directly stored in the structure of the nodes.
SCCTopSortedGraph: SCCTopSortedGraph represents a graph of strongly connected components topologically sorted in decreasing order. To obtain such a graph, use the topSort static method. It uses a Depth First Search to do the sortting in linear time (see Section 23.4 in Cormen and co for the exact algorithm).
EdgeNavigator: This navigator is used as a wrapper for another navigator. It adds an "edge" node for each edge in the original graph. The edge nodes are Pair objects.