/** This class specializes DFS to determine whether the graph is connected. */
public class ConnectivityTesterDFS extends DFS {
  protected int reached;
  public Object execute(InspectableGraph g, Vertex start, Object info) {
    super.execute(g, start, info);
    reached = 0;
    if (!G.isEmpty()) {
      Vertex v = G.aVertex();
      dfsTraversal(v);
    }
    return (new Boolean(reached == G.numVertices()));
  }
  public void startVisit(Vertex v) { reached++; }
}