SlideShare una empresa de Scribd logo
1 de 9
Recorrer un grafo significa tratar de alcanzar
todos los nodos que estén relacionados con uno
que llamaremos nodo de salida.           Existen
básicamente dos técnicas para recorrer un grafo:

   El recorrido en anchura
   El recorrido en profundidad.
Supone recorrer el grafo, a partir de un nodo dado,
en niveles, es decir, primero los que están a una
distancia de un arco del nodo de salida, después los
que están a dos arcos de distancia, y así
sucesivamente hasta alcanzar todos los nodos a los
que se pudiese llegar desde el nodo salida.

 El recorrido genera un árbol.
 Si el grafo no es conexo el recorrido genera un
bosque de arboles (un árbol por componente
conexa).
 Se puede aplicar en grafos dirigidos.
 Cuando se quiera hacer una exploración
parcial de un grafo infinito o muy grande

 Para hallar el camino más corto desde un
punto de un grafo a otro

 Si hay que encontrar una solución partiendo
de una situación inicial y efectuando el menor
número de pasos posibles
Procedimiento RA(v: nodo)
Q ������ colaVacia
Marca[v]      visitado
añadir(v,Q)
Mientras Q no estáVacía hacer
U       primero(Q)
eliminar(u,Q)
Para cada vértice w adyacente a u hacer
Si marca[w] ≠ visitado entonces
marca[w]        visitado
añadir(w,Q)
fSi
Fpara
Fmientras
FProcedimiento
Algoritmo que asegure el recorrido en todas
las componentes conexas:

Procedimiento RecorridoAnchura(G:grafo)
Para cada v ∈ V hacer
Marcar[v]     no visitado
Fpara
Para cada v ∈ V hacer
Si marcar[v] ≠ visitado entonces
RA(v)
fSi
Fpara
Fprocedimiento
Nodo visitado    Q

     1            2, 3, 4
     2            3, 4, 5,
6
     3      4, 5, 6
     4      5, 6, 7, 8
     5      6, 7, 8
     6      7, 8
     7      8
     8
Gracia
  s

Más contenido relacionado

La actualidad más candente

Programación 3: Grafos, representación y operaciones
Programación 3: Grafos, representación y operacionesProgramación 3: Grafos, representación y operaciones
Programación 3: Grafos, representación y operacionesAngel Vázquez Patiño
 
Paradigmas de ingenieria del software
Paradigmas de ingenieria del softwareParadigmas de ingenieria del software
Paradigmas de ingenieria del softwareTensor
 
Mapa conceptual
Mapa conceptualMapa conceptual
Mapa conceptualhitwinenze
 
Mapa mental Grafos (Gaby Assouad)
Mapa mental Grafos (Gaby Assouad)Mapa mental Grafos (Gaby Assouad)
Mapa mental Grafos (Gaby Assouad)gabyassouad
 
Representación matricial
Representación matricialRepresentación matricial
Representación matricialSam Rdgz
 
Mapa Conceptual de Grafos
Mapa Conceptual de GrafosMapa Conceptual de Grafos
Mapa Conceptual de GrafosSandra Biondi
 
Teoría de grafos
Teoría de grafosTeoría de grafos
Teoría de grafosJGerard0
 
Los lenguajes aceptados para una maquina de turing
Los lenguajes aceptados para una maquina de turingLos lenguajes aceptados para una maquina de turing
Los lenguajes aceptados para una maquina de turingJonathan Bastidas
 
Unidad 3 graficacion
Unidad 3 graficacionUnidad 3 graficacion
Unidad 3 graficacionAndhy H Palma
 
Lista de adyacencia
Lista de adyacenciaLista de adyacencia
Lista de adyacenciaFrank Doria
 

La actualidad más candente (20)

Grafo bipartito
Grafo bipartitoGrafo bipartito
Grafo bipartito
 
Programación 3: Grafos, representación y operaciones
Programación 3: Grafos, representación y operacionesProgramación 3: Grafos, representación y operaciones
Programación 3: Grafos, representación y operaciones
 
Paradigmas de ingenieria del software
Paradigmas de ingenieria del softwareParadigmas de ingenieria del software
Paradigmas de ingenieria del software
 
Mapa conceptual
Mapa conceptualMapa conceptual
Mapa conceptual
 
Mapa mental Grafos (Gaby Assouad)
Mapa mental Grafos (Gaby Assouad)Mapa mental Grafos (Gaby Assouad)
Mapa mental Grafos (Gaby Assouad)
 
Recorrido de Grafos
Recorrido de GrafosRecorrido de Grafos
Recorrido de Grafos
 
Grafos
GrafosGrafos
Grafos
 
Grafos 0
Grafos 0Grafos 0
Grafos 0
 
Representación matricial
Representación matricialRepresentación matricial
Representación matricial
 
Mapa Conceptual de Grafos
Mapa Conceptual de GrafosMapa Conceptual de Grafos
Mapa Conceptual de Grafos
 
Teoría de grafos
Teoría de grafosTeoría de grafos
Teoría de grafos
 
Los lenguajes aceptados para una maquina de turing
Los lenguajes aceptados para una maquina de turingLos lenguajes aceptados para una maquina de turing
Los lenguajes aceptados para una maquina de turing
 
Unidad 3 graficacion
Unidad 3 graficacionUnidad 3 graficacion
Unidad 3 graficacion
 
Ejemplo bfs
Ejemplo bfsEjemplo bfs
Ejemplo bfs
 
Lista de adyacencia
Lista de adyacenciaLista de adyacencia
Lista de adyacencia
 
Aplicaciones de los árboles y grafos
Aplicaciones de los árboles y grafosAplicaciones de los árboles y grafos
Aplicaciones de los árboles y grafos
 
Modelos concurrentes
Modelos concurrentesModelos concurrentes
Modelos concurrentes
 
Grafos
GrafosGrafos
Grafos
 
Eventos, Topicos Avanzados de Programacion
Eventos, Topicos Avanzados de Programacion Eventos, Topicos Avanzados de Programacion
Eventos, Topicos Avanzados de Programacion
 
Diseño de Software
Diseño de SoftwareDiseño de Software
Diseño de Software
 

Similar a Recorrido de anchura

Depth-first Search
Depth-first SearchDepth-first Search
Depth-first SearchRaúl
 
Depth-first Search
Depth-first SearchDepth-first Search
Depth-first SearchRaúl
 
elementaryAlgorithms.ppt
elementaryAlgorithms.pptelementaryAlgorithms.ppt
elementaryAlgorithms.pptjlmansilla
 
Presentación OR Problemas de Caminos Más Cortos
Presentación OR Problemas de Caminos Más CortosPresentación OR Problemas de Caminos Más Cortos
Presentación OR Problemas de Caminos Más CortosRosa E Padilla
 
S8-EDD-4.2 Aplicaciones de árboles en informática
S8-EDD-4.2 Aplicaciones de árboles en informáticaS8-EDD-4.2 Aplicaciones de árboles en informática
S8-EDD-4.2 Aplicaciones de árboles en informáticaLuis Fernando Aguas Bucheli
 
Diapo teoria de grafos
Diapo teoria de grafosDiapo teoria de grafos
Diapo teoria de grafosGera Lopez
 
Grafos-2021.pdf
Grafos-2021.pdfGrafos-2021.pdf
Grafos-2021.pdfNathanLux3
 
I1M2010-T22: Algoritmos sobre grafos en Haskell
I1M2010-T22: Algoritmos sobre grafos en HaskellI1M2010-T22: Algoritmos sobre grafos en Haskell
I1M2010-T22: Algoritmos sobre grafos en HaskellJosé A. Alonso
 
Fundamentos de la Teoría de Grafos en Curso de Educagratis
Fundamentos de la Teoría de Grafos en Curso de EducagratisFundamentos de la Teoría de Grafos en Curso de Educagratis
Fundamentos de la Teoría de Grafos en Curso de EducagratisEducagratis
 
Inteligencia Artificial - Leonys B
Inteligencia Artificial - Leonys BInteligencia Artificial - Leonys B
Inteligencia Artificial - Leonys BJose Andres
 
Grafos_presentación con ejercicios.pdf
Grafos_presentación con ejercicios.pdfGrafos_presentación con ejercicios.pdf
Grafos_presentación con ejercicios.pdfKevinPeaChavez
 

Similar a Recorrido de anchura (18)

Grafos 2
Grafos 2Grafos 2
Grafos 2
 
Recorridos de Grafos
Recorridos de GrafosRecorridos de Grafos
Recorridos de Grafos
 
Rutamascorta1
Rutamascorta1Rutamascorta1
Rutamascorta1
 
Depth-first Search
Depth-first SearchDepth-first Search
Depth-first Search
 
Depth-first Search
Depth-first SearchDepth-first Search
Depth-first Search
 
Flujo en redes
Flujo en redesFlujo en redes
Flujo en redes
 
Algoritmo dijkstra
Algoritmo dijkstraAlgoritmo dijkstra
Algoritmo dijkstra
 
Presentacion
PresentacionPresentacion
Presentacion
 
elementaryAlgorithms.ppt
elementaryAlgorithms.pptelementaryAlgorithms.ppt
elementaryAlgorithms.ppt
 
Presentación OR Problemas de Caminos Más Cortos
Presentación OR Problemas de Caminos Más CortosPresentación OR Problemas de Caminos Más Cortos
Presentación OR Problemas de Caminos Más Cortos
 
S8-EDD-4.2 Aplicaciones de árboles en informática
S8-EDD-4.2 Aplicaciones de árboles en informáticaS8-EDD-4.2 Aplicaciones de árboles en informática
S8-EDD-4.2 Aplicaciones de árboles en informática
 
Diapo teoria de grafos
Diapo teoria de grafosDiapo teoria de grafos
Diapo teoria de grafos
 
Grafos-2021.pdf
Grafos-2021.pdfGrafos-2021.pdf
Grafos-2021.pdf
 
Floyd Prim y Kruscal
Floyd Prim y KruscalFloyd Prim y Kruscal
Floyd Prim y Kruscal
 
I1M2010-T22: Algoritmos sobre grafos en Haskell
I1M2010-T22: Algoritmos sobre grafos en HaskellI1M2010-T22: Algoritmos sobre grafos en Haskell
I1M2010-T22: Algoritmos sobre grafos en Haskell
 
Fundamentos de la Teoría de Grafos en Curso de Educagratis
Fundamentos de la Teoría de Grafos en Curso de EducagratisFundamentos de la Teoría de Grafos en Curso de Educagratis
Fundamentos de la Teoría de Grafos en Curso de Educagratis
 
Inteligencia Artificial - Leonys B
Inteligencia Artificial - Leonys BInteligencia Artificial - Leonys B
Inteligencia Artificial - Leonys B
 
Grafos_presentación con ejercicios.pdf
Grafos_presentación con ejercicios.pdfGrafos_presentación con ejercicios.pdf
Grafos_presentación con ejercicios.pdf
 

Recorrido de anchura

  • 1.
  • 2. Recorrer un grafo significa tratar de alcanzar todos los nodos que estén relacionados con uno que llamaremos nodo de salida. Existen básicamente dos técnicas para recorrer un grafo:  El recorrido en anchura  El recorrido en profundidad.
  • 3. Supone recorrer el grafo, a partir de un nodo dado, en niveles, es decir, primero los que están a una distancia de un arco del nodo de salida, después los que están a dos arcos de distancia, y así sucesivamente hasta alcanzar todos los nodos a los que se pudiese llegar desde el nodo salida.  El recorrido genera un árbol.  Si el grafo no es conexo el recorrido genera un bosque de arboles (un árbol por componente conexa).  Se puede aplicar en grafos dirigidos.
  • 4.  Cuando se quiera hacer una exploración parcial de un grafo infinito o muy grande  Para hallar el camino más corto desde un punto de un grafo a otro  Si hay que encontrar una solución partiendo de una situación inicial y efectuando el menor número de pasos posibles
  • 5. Procedimiento RA(v: nodo) Q ������ colaVacia Marca[v] visitado añadir(v,Q) Mientras Q no estáVacía hacer U primero(Q) eliminar(u,Q) Para cada vértice w adyacente a u hacer Si marca[w] ≠ visitado entonces marca[w] visitado añadir(w,Q) fSi Fpara Fmientras FProcedimiento
  • 6. Algoritmo que asegure el recorrido en todas las componentes conexas: Procedimiento RecorridoAnchura(G:grafo) Para cada v ∈ V hacer Marcar[v] no visitado Fpara Para cada v ∈ V hacer Si marcar[v] ≠ visitado entonces RA(v) fSi Fpara Fprocedimiento
  • 7. Nodo visitado Q 1 2, 3, 4 2 3, 4, 5, 6 3 4, 5, 6 4 5, 6, 7, 8 5 6, 7, 8 6 7, 8 7 8 8
  • 8.