Documentos de Académico
Documentos de Profesional
Documentos de Cultura
anchura y en
profundidad de un
grafo representado
por una matriz
Posted on August 10, 2013
RECORRIDO EN ANCHURA
En Ciencias
de
la
Computacin, Bsqueda
recorrer
First
buscar
en
Search)
es
elementos
en
frecuentemente
sido
visitados.
RECORRIDO EN PROFUNDIDAD
Una Bsqueda
en
ms
informacin:http://es.wikipedia.org/wiki/B
%C3%BAsqueda_en_profundidad)
public Grafo() {
}
public int[][] getG() {
return g;
}
public ArrayList<Integer> recorridoAnchura(int
nodoI) {
//Lista donde guardo los nodos recorridos
ArrayList<Integer> recorridos = new
ArrayList<Integer>();
//El nodo inicial ya est visitado
visitiadoAnchura[nodoI] = true;
//Cola de visitas de los nodos adyacentes
ArrayList<Integer> cola = new
ArrayList<Integer>();
//Se lista el nodo como ya recorrido
recorridos.add(nodoI);
//Se agrega el nodo a la cola de visitas
cola.add(nodoI);
//Hasta que visite todos los nodos
while (!cola.isEmpty()) {
int j = cola.remove(0); //Se saca el primero
nodo de la cola
}
}
}
return recorridos;//Se devuelve el recorrido del
grafo en profundidad
}
}
Para porbar los mtodos se ejecuta el siguiente
cdigo:
public class Prueba {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
Grafo g=new Grafo();
ArrayList<Integer>
enAnchura=g.recorridoAnchura(0);//Nodo inicial 0
System.out.println(Recorrido en anchura de un
grafo representado como matriz: );
for(int i=0;i<enAnchura.size();i++){
System.out.print(+enAnchura.get(i)+ );
}
ArrayList<Integer>
enProfundidad=g.recorridoProfunidad(0);//Nodo
inicial 0
System.out.println();
System.out.println(Recorrido en profundidad
de un grafo representado como matriz: );
for(int i=0;i<enProfundidad.size();i++){
System.out.print(+enProfundidad.get(i)+
);
}
}
}