public LinkedList recorridoGrafoProfundidad() {
if (vertices.size() == 0) {
System.out.println("El grafo no tiene datos");
}
LinkedList nueva = new LinkedList();
for (int i = 0; i < vertices.size(); i++) {
Vertice v = vertices.get(i);
recorridoGrafoProfundidad(v, nueva);
}
return nueva;
}
//
private void recorridoGrafoProfundidad(Vertice v,
LinkedList nueva) {
if (!nueva.contains(v)) {
nueva.add(v);
if (v.getAristas().size() > 0) {
for (int i = 0; i < v.getAristas().size(); i++) {
Arista a = v.getAristas().get(i);
if (!nueva.contains(a.getDestino())) {
recorridoGrafoProfundidad(a.getDestino
(), nueva);
}
}
}
}
}
0 Comments