/** 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++; } }