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