/** This class specializes DFS to determine whether the graph is connected. */
public class ConnectivityDFS extends DFS {
protected int reached;
public Object execute(Graph g, Vertex start, Object info) {
init(g);
int n = 0;
Iterator V = G.vertices();
while (V.hasNext()) {
V.next();
n++;
}
reached = 0;
dfsTraversal(start);
return new Boolean(reached == n);
}
protected void startVisit(Vertex v) { reached++; }
}