

PREV CLASS NEXT CLASS  FRAMES NO FRAMES  
SUMMARY: INNER  FIELD  CONSTR  METHOD  DETAIL: FIELD  CONSTR  METHOD 
java.lang.Object  +ConnectedComponents
A ConnectedComponents
maintains information about
the connected components of an undirected graph. As such it is
essentially the same as a general purpose unionfind algorithm,
with the added feature that it can return the least element in
a set (i.e., in a connected component).
The algorithm uses a union by size method combined with path compression.
It supports the following operations.
ConnectedComponents( int N )
starts a new graph
on the vertices 0, 1, 2, ..., N1 with no edges.
addEdge( int i, int j )
adds a new edge.
areConnected(int i, int j)
returns true if the vertices
i
and j
are connected by a path of edges
in the graph.
minConnected( int i )
finds the smallest numbered
vertex which is connected to vertex i.
getNumPointerTraversals()
is used to gather statistics
about the traversal pattern.
Field Summary  
protected int 
numPointerTraversals
The total number of pointer traversals 
Constructor Summary  
ConnectedComponents(int N)
Constructor for a ConnectedComponents object
which is initially for a total disconnected
graph on N vertices. 
Method Summary  
int 
addEdge(int i,
int j)
Modifies the graph by adding an (undirected) edge between vertices i and j . 
boolean 
areConnected(int i,
int j)
Tests whether two vertices are in the same connected component. 
int 
getNumPointerTraversals()
Returns the total number of pointer traversals. 
int 
minConnected(int i)
Find the minumum numbered vertex which is in the same connected component as i . 
Methods inherited from class java.lang.Object 
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait 
Field Detail 
protected int numPointerTraversals
Constructor Detail 
public ConnectedComponents(int N)
ConnectedComponents
object
which is initially for a total disconnected
graph on N
vertices. The vertices in the graph
are numbered from 0 to N1.N
 the number of vertices in the graph.Method Detail 
public int addEdge(int i, int j)
i
and j
. The connected components are updated
accordingly.i
 the first vertexj
 the second vertexpublic int minConnected(int i)
i
.i
 a vertex numberi
.public boolean areConnected(int i, int j)
i
 a vertex numberj
 a vertex numbertrue
iff the vertices are in the same connected
component.public int getNumPointerTraversals()


PREV CLASS NEXT CLASS  FRAMES NO FRAMES  
SUMMARY: INNER  FIELD  CONSTR  METHOD  DETAIL: FIELD  CONSTR  METHOD 