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