//gioel package graph; import exceptions.InvalidKeyException; public class ComponentsBFS extends BFS { protected Integer compNumber; protected Object COMPONENT = new Object(); protected void setup() { compNumber = 1; } protected void startVisit(Vertex v) { v.put(COMPONENT, compNumber); } protected Integer finalResult(Integer bfsResult) { for(Vertex v : graph.vertices()) if(!isVisited(v)) { compNumber++; bfsTraversal(v); } return compNumber; } }