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

Diagrama de actividades uml
Diagrama de actividades umlDiagrama de actividades uml
Diagrama de actividades umlcamiloan40
 
Presentacion algoritmos
Presentacion algoritmosPresentacion algoritmos
Presentacion algoritmosaralylopez88
 
Arreglos o dimensiones en pseint
Arreglos o dimensiones en pseintArreglos o dimensiones en pseint
Arreglos o dimensiones en pseintDon Augusto
 
Comandos de raptor
Comandos de raptorComandos de raptor
Comandos de raptor0cero
 
Introduccion a la programacion
Introduccion a la programacionIntroduccion a la programacion
Introduccion a la programacionJose Marroquin
 
algoritmos y fundamentos de programacion
algoritmos y fundamentos de programacionalgoritmos y fundamentos de programacion
algoritmos y fundamentos de programacionMIKE_INK_RM
 
Teoria de grafos. introducción
Teoria de grafos. introducciónTeoria de grafos. introducción
Teoria de grafos. introducciónAlejandra Guzman
 
Analizador Sintáctico
Analizador SintácticoAnalizador Sintáctico
Analizador SintácticoPablo Guerra
 
Unidad 04 estructuras básicas y técnicas para representar algoritmos
Unidad 04   estructuras básicas y técnicas para representar algoritmosUnidad 04   estructuras básicas y técnicas para representar algoritmos
Unidad 04 estructuras básicas y técnicas para representar algoritmosLorenzo Alejo
 

La actualidad más candente (20)

Diagrama de actividades uml
Diagrama de actividades umlDiagrama de actividades uml
Diagrama de actividades uml
 
Flujograma sentencias
Flujograma sentenciasFlujograma sentencias
Flujograma sentencias
 
Tutorial PSEINT
Tutorial PSEINT Tutorial PSEINT
Tutorial PSEINT
 
Presentacion algoritmos
Presentacion algoritmosPresentacion algoritmos
Presentacion algoritmos
 
Arreglos o dimensiones en pseint
Arreglos o dimensiones en pseintArreglos o dimensiones en pseint
Arreglos o dimensiones en pseint
 
Ppt algoritmo
Ppt algoritmoPpt algoritmo
Ppt algoritmo
 
Modelo crc
Modelo crc   Modelo crc
Modelo crc
 
Div, idiv, Neg ensamblador
Div, idiv, Neg ensambladorDiv, idiv, Neg ensamblador
Div, idiv, Neg ensamblador
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Comandos de raptor
Comandos de raptorComandos de raptor
Comandos de raptor
 
Introduccion a la programacion
Introduccion a la programacionIntroduccion a la programacion
Introduccion a la programacion
 
S2-POO-1.2 Representación Gráfica
S2-POO-1.2 Representación GráficaS2-POO-1.2 Representación Gráfica
S2-POO-1.2 Representación Gráfica
 
algoritmos y fundamentos de programacion
algoritmos y fundamentos de programacionalgoritmos y fundamentos de programacion
algoritmos y fundamentos de programacion
 
Teoria de grafos. introducción
Teoria de grafos. introducciónTeoria de grafos. introducción
Teoria de grafos. introducción
 
Analizador Sintáctico
Analizador SintácticoAnalizador Sintáctico
Analizador Sintáctico
 
Unidad 04 estructuras básicas y técnicas para representar algoritmos
Unidad 04   estructuras básicas y técnicas para representar algoritmosUnidad 04   estructuras básicas y técnicas para representar algoritmos
Unidad 04 estructuras básicas y técnicas para representar algoritmos
 
Raptor
RaptorRaptor
Raptor
 
Taller de Base de Datos - Unidad 7 Conectividad
Taller de Base de Datos - Unidad 7 ConectividadTaller de Base de Datos - Unidad 7 Conectividad
Taller de Base de Datos - Unidad 7 Conectividad
 
Manual de Uso PseInt
Manual de Uso PseIntManual de Uso PseInt
Manual de Uso PseInt
 
Diseño de la interfaz de usuario
Diseño de la interfaz de usuarioDiseño de la interfaz de usuario
Diseño de la interfaz de usuario
 

Similar a Recorrido en anchura y profundidad de grafos: explicación y algoritmos

Depth-first Search
Depth-first SearchDepth-first Search
Depth-first SearchRaúl
 
Depth-first Search
Depth-first SearchDepth-first Search
Depth-first SearchRaúl
 
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
 
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
 

Similar a Recorrido en anchura y profundidad de grafos: explicación y algoritmos (20)

Grafos 2
Grafos 2Grafos 2
Grafos 2
 
Recorridos de Grafos
Recorridos de GrafosRecorridos de Grafos
Recorridos de Grafos
 
Grafos
GrafosGrafos
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
 
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
 
Recorrido de Grafos
Recorrido de GrafosRecorrido de Grafos
Recorrido de Grafos
 
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
 

Recorrido en anchura y profundidad de grafos: explicación y algoritmos

  • 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.