Recorrido de anchura
Luisa Fernanda Saacutenchez GoacutemezErick Santiago Cotrino rico
Julieth Tatiana Goacutemez
Recorridos de un grafo
Recorrer un grafo significa tratar de alcanzar todos los nodos que esteacuten relacionados con uno que llamaremos nodo de salida Existen baacutesicamente dos teacutecnicas 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 estaacuten a una distancia de un arco del nodo de salida despueacutes los que estaacuten a dos arcos de distancia y asiacute sucesivamente hasta alcanzar todos los nodos a los que se pudiese llegar desde el nodo salida
El recorrido genera un aacuterbol Si el grafo no es conexo el recorrido genera un bosque de arboles (un aacuterbol por componente conexa) Se puede aplicar en grafos dirigidos
Aplicacioacuten
Cuando se quiera hacer una exploracioacuten parcial de un grafo infinito o muy grande
Para hallar el camino maacutes corto desde un punto de un grafo a otro
Si hay que encontrar una solucioacuten partiendo de una situacioacuten inicial y efectuando el menor nuacutemero de pasos posibles
Coacutedigo Procedimiento RA(v nodo)Q 1048773 colaVaciaMarca[v] visitadoantildeadir(vQ)Mientras Q no estaacuteVaciacutea hacerU primero(Q)eliminar(uQ)Para cada veacutertice w adyacente a u hacerSi marca[w] ne visitado entoncesmarca[w] visitadoantildeadir(wQ)fSiFparaFmientrasFProcedimiento
Algoritmo que asegure el recorrido en todas las componentes conexas
Procedimiento RecorridoAnchura(Ggrafo)Para cada v isin V hacerMarcar[v] no visitadoFparaPara cada v isin V hacerSi marcar[v] ne visitado entoncesRA(v)fSiFparaFprocedimiento
Ejemplo
Nodo visitado Q
1 2 3 4
2 3 4 5 6
3 4 5 64 5 6 7 85 6 7 86 7 87 88
Aacuterbol resultante
Gracias
Recorridos de un grafo
Recorrer un grafo significa tratar de alcanzar todos los nodos que esteacuten relacionados con uno que llamaremos nodo de salida Existen baacutesicamente dos teacutecnicas 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 estaacuten a una distancia de un arco del nodo de salida despueacutes los que estaacuten a dos arcos de distancia y asiacute sucesivamente hasta alcanzar todos los nodos a los que se pudiese llegar desde el nodo salida
El recorrido genera un aacuterbol Si el grafo no es conexo el recorrido genera un bosque de arboles (un aacuterbol por componente conexa) Se puede aplicar en grafos dirigidos
Aplicacioacuten
Cuando se quiera hacer una exploracioacuten parcial de un grafo infinito o muy grande
Para hallar el camino maacutes corto desde un punto de un grafo a otro
Si hay que encontrar una solucioacuten partiendo de una situacioacuten inicial y efectuando el menor nuacutemero de pasos posibles
Coacutedigo Procedimiento RA(v nodo)Q 1048773 colaVaciaMarca[v] visitadoantildeadir(vQ)Mientras Q no estaacuteVaciacutea hacerU primero(Q)eliminar(uQ)Para cada veacutertice w adyacente a u hacerSi marca[w] ne visitado entoncesmarca[w] visitadoantildeadir(wQ)fSiFparaFmientrasFProcedimiento
Algoritmo que asegure el recorrido en todas las componentes conexas
Procedimiento RecorridoAnchura(Ggrafo)Para cada v isin V hacerMarcar[v] no visitadoFparaPara cada v isin V hacerSi marcar[v] ne visitado entoncesRA(v)fSiFparaFprocedimiento
Ejemplo
Nodo visitado Q
1 2 3 4
2 3 4 5 6
3 4 5 64 5 6 7 85 6 7 86 7 87 88
Aacuterbol resultante
Gracias
Recorrido en anchura
Supone recorrer el grafo a partir de un nodo dado en niveles es decir primero los que estaacuten a una distancia de un arco del nodo de salida despueacutes los que estaacuten a dos arcos de distancia y asiacute sucesivamente hasta alcanzar todos los nodos a los que se pudiese llegar desde el nodo salida
El recorrido genera un aacuterbol Si el grafo no es conexo el recorrido genera un bosque de arboles (un aacuterbol por componente conexa) Se puede aplicar en grafos dirigidos
Aplicacioacuten
Cuando se quiera hacer una exploracioacuten parcial de un grafo infinito o muy grande
Para hallar el camino maacutes corto desde un punto de un grafo a otro
Si hay que encontrar una solucioacuten partiendo de una situacioacuten inicial y efectuando el menor nuacutemero de pasos posibles
Coacutedigo Procedimiento RA(v nodo)Q 1048773 colaVaciaMarca[v] visitadoantildeadir(vQ)Mientras Q no estaacuteVaciacutea hacerU primero(Q)eliminar(uQ)Para cada veacutertice w adyacente a u hacerSi marca[w] ne visitado entoncesmarca[w] visitadoantildeadir(wQ)fSiFparaFmientrasFProcedimiento
Algoritmo que asegure el recorrido en todas las componentes conexas
Procedimiento RecorridoAnchura(Ggrafo)Para cada v isin V hacerMarcar[v] no visitadoFparaPara cada v isin V hacerSi marcar[v] ne visitado entoncesRA(v)fSiFparaFprocedimiento
Ejemplo
Nodo visitado Q
1 2 3 4
2 3 4 5 6
3 4 5 64 5 6 7 85 6 7 86 7 87 88
Aacuterbol resultante
Gracias
Aplicacioacuten
Cuando se quiera hacer una exploracioacuten parcial de un grafo infinito o muy grande
Para hallar el camino maacutes corto desde un punto de un grafo a otro
Si hay que encontrar una solucioacuten partiendo de una situacioacuten inicial y efectuando el menor nuacutemero de pasos posibles
Coacutedigo Procedimiento RA(v nodo)Q 1048773 colaVaciaMarca[v] visitadoantildeadir(vQ)Mientras Q no estaacuteVaciacutea hacerU primero(Q)eliminar(uQ)Para cada veacutertice w adyacente a u hacerSi marca[w] ne visitado entoncesmarca[w] visitadoantildeadir(wQ)fSiFparaFmientrasFProcedimiento
Algoritmo que asegure el recorrido en todas las componentes conexas
Procedimiento RecorridoAnchura(Ggrafo)Para cada v isin V hacerMarcar[v] no visitadoFparaPara cada v isin V hacerSi marcar[v] ne visitado entoncesRA(v)fSiFparaFprocedimiento
Ejemplo
Nodo visitado Q
1 2 3 4
2 3 4 5 6
3 4 5 64 5 6 7 85 6 7 86 7 87 88
Aacuterbol resultante
Gracias
Coacutedigo Procedimiento RA(v nodo)Q 1048773 colaVaciaMarca[v] visitadoantildeadir(vQ)Mientras Q no estaacuteVaciacutea hacerU primero(Q)eliminar(uQ)Para cada veacutertice w adyacente a u hacerSi marca[w] ne visitado entoncesmarca[w] visitadoantildeadir(wQ)fSiFparaFmientrasFProcedimiento
Algoritmo que asegure el recorrido en todas las componentes conexas
Procedimiento RecorridoAnchura(Ggrafo)Para cada v isin V hacerMarcar[v] no visitadoFparaPara cada v isin V hacerSi marcar[v] ne visitado entoncesRA(v)fSiFparaFprocedimiento
Ejemplo
Nodo visitado Q
1 2 3 4
2 3 4 5 6
3 4 5 64 5 6 7 85 6 7 86 7 87 88
Aacuterbol resultante
Gracias
Algoritmo que asegure el recorrido en todas las componentes conexas
Procedimiento RecorridoAnchura(Ggrafo)Para cada v isin V hacerMarcar[v] no visitadoFparaPara cada v isin V hacerSi marcar[v] ne visitado entoncesRA(v)fSiFparaFprocedimiento
Ejemplo
Nodo visitado Q
1 2 3 4
2 3 4 5 6
3 4 5 64 5 6 7 85 6 7 86 7 87 88
Aacuterbol resultante
Gracias
Ejemplo
Nodo visitado Q
1 2 3 4
2 3 4 5 6
3 4 5 64 5 6 7 85 6 7 86 7 87 88
Aacuterbol resultante
Gracias
Aacuterbol resultante
Gracias
Gracias
Top Related