Professional Documents
Culture Documents
Escuela: Informtica.
Integrantes:
Trujillo, 2017
1. Marco Terico
Recorrer un grafo significa tratar de alcanzar todos los nodos que estn relacionados con
uno que llamaremos nodo de salida. Existen bsicamente dos tcnicas para recorrer un
grafo:
El recorrido en anchura.
El recorrido en profundidad.
Recorrido en anchura
Supone recorrer el grafo, a partir de un nodo dado, en niveles, es decir, primero
los que estn a una distancia de un arco del nodo de salida, y as sucesivamente
hasta alcanzar todos los nodos a los que se pudiese llegar desde el nodo salida.
Aplicacin:
Cuando se quiera hacer una exploracin parcial de un grafo infinito o muy grande.
Para hallar el camino ms corto desde un punto de un grafo a otro.
Si hay que encontrar una solucin partiendo de una solucin inicial y efectuando
el menor nmero de pasos posibles.
2. Resultados.
2.1. Cdigo:
#include<stdio.h>
#include <queue>
#include<iostream>
void bfs(){
cin>>ini;
cin>>fin;
cout<<"Aristas: "<<endl;
queue<int> Q;
Q.push( ini );
while( !Q.empty() ){
Q.pop();
for( int i = 0 ; i < ady[ actual ].size() ; ++i ){ //vemos adyacentes de nodo actual
int main(){
int V , E , x , y;
cin>>V;
cin>>E;
cout<<endl;
//Origen y destino
cin>>x;
cin>>y;
cout<<endl;
ady[ x ].push_back( y );
bfs();
return 0;
}
2.2. Ejemplos: De los siguientes grafos hallar el rbol de expansin nico de
cada uno de ellos usando el algoritmo de bsqueda a lo ancho.
1.-
6 7
2 3 5 8 9
1 4 11 10
Respuesta:
2.-
1 2
4 5
6 7
Respuesta:
3.-
Respuesta:
* En este caso se nota que el algoritmo ha reutilizado las aristas repetidas, ya que
considera a cada una diferente, pero el algoritmo debera escribir solamente uno de cada
uno.
3. Conclusiones.
4. Referencias Bibliogrficas.