SlideShare uma empresa Scribd logo
1 de 19
b

2

s

d

1

a

3

t
c

2

2

45

3

4

1
3

2

10

5

25

40

55
30

25
50

4

20
3

15

Recorridos en grafos

Recorridos

1
Indice
•
•
•
•

Introducción.
Búsqueda primero en profundidad.
Búsqueda primero en anchura.
Usos de los recorridos.
– Digrafos acíclicos.
– Orden topológico.

Recorridos

2
Introducción
•

•

Recorridos

Recorrido: procedimiento sistemático de
exploración de un grafo mediante el examen
de todos sus vértices y aristas.
Un recorrido es eficiente si visita todos los
vértices y aristas en un tiempo proporcional a
su número, esto es, en tiempo lineal.

3
Búsqueda primero en profundidad
•

Recorridos

Analogía: deambular en un laberinto con una
cuerda y un bote de pintura, para no perderse.
– Se selecciona un vértice inicial s de G, al que se fija un extremo
de la cuerda y se pinta s como "visitado". Se asigna s a u (vértice
en curso).
– Se recorre G considerando una arista arbitraria (u, v). Si la arista
(u, v) conduce a una vértice v ya visitado se retorna
inmediatamente al vértice u.
– Si (u, v) conduce a un vértice no visitado v, entonces se extiende
la cuerda y se fija en v. Se pinta v como "visitado" y se asigna a
u (vértice en curso), repitiendo el mismo procedimiento anterior.
– Si todas las aristas incidentes a un vértice conducen a vértices
ya visitados, se enrolla la cuerda vuelta atrás a la arista que
condujo a u y se repite el procedimiento anterior para las aristas
incidentes que no se han recorrido antes.
– El proceso termina cuando la vuelta atrás conduce al vértice
inicial s y no hay más aristas incidentes sin explorar desde s. 4
Búsqueda primero en profundidad
•

Animación
a

b

a

c

b

a

c

b
c

d

e

d

e

d

e

a

b

a

b

a

b

c
d
Recorridos

c
e

d

c
e

d

e
5
Búsqueda primero en profundidad
•
•

El recorrido BPP es una generalización del recorrido
preorden de un árbol.
Se pueden identificar cuatro tipos de aristas durante el
recorrido:
– Aristas de descubrimiento: son aquellas aristas que conducen al
descubrimiento de nuevos vértices. También se les llama aristas
de árbol.
– Aristas de retorno: son las aristas que conducen a vértices
antecesores ya visitados en el árbol.
– Aristas de avance: son las aristas que conducen a vértices
descendientes en el árbol.
– Aristas de cruce: son aristas que conducen a un vértice que no
es ancestro de otro o a vértices que están en diferentes árboles.

•
Recorridos

Las aristas de descubrimiento forman un árbol de
cubrimiento de los componentes conectados del vértice
inicial s.

6
Algoritmo recursivo BPP
recorre_grafo_bpp()
{
for cada vértice v
marca[v]=SINVISITAR;
for cada vértice v
if (marca[v]==SINVISITAR)
BPP(v);
}
•

BPP(u)
{
marca[u]=VISITADO;
for cada vértice v adyacente a u
if (marca[v]==SINVISITAR)
BPP(v);
}

Orden de complejidad del recorrido en profundidad:
– Con lista de adyacencia, se recorre cada elemento de lista una
vez, O(n + e).
– Con matriz de adyacencia, para cada nodo se buscan sus
adyacentes, O(n2).

Recorridos

7
Algoritmo recursivo BPP
•

Recorridos

Applet de animación del recorrido BPP

8
Búsqueda primero en anchura
•

Analogía: deambular en un laberinto con una
cuerda y un bote de pintura, para no perderse.
– Se selecciona un vértice inicial s de G, al que se fija inicialmente
un extremo de la cuerda y se marca s con el nivel 0.
– Se ajusta la longitud de la cuerda igual al de una arista. Se
visitan y marcan con 1 todos los vértices adyacentes a s que se
alcanzan con esa longitud.
– Se repite el proceso anterior con una longitud de cuerda igual al
de dos aristas. Todos los vértices adyacentes al nivel 1 se
marcan con el nivel 2.
– El recorrido termina cuando todos los vértices tienen asignado
un nivel.

Recorridos

9
Búsqueda primero en anchura
•

Animación
0

a

0

b

1

a

b
1

c

c
d

1

e
0

d

e

1

a

b
1

c
1

Recorridos

d

e

2

10
Búsqueda primero en anchura
•
•

El recorrido BPA es una generalización del recorrido por
niveles de un árbol.
Se pueden identificar dos tipos de aristas durante el
recorrido:
– Aristas de descubrimiento: son aquellas aristas que conducen al
descubrimiento de nuevos vértices.
– Aristas de cruce: son aristas que conducen a un vértice ya
visitado.

•

Las aristas de descubrimiento forman un árbol de
cubrimiento de los componentes conectados del vértice
inicial s.

Recorridos

11
Algoritmo BPA
recorre_grafo_bpa()
{
for cada vértice v
marca[v]=SINVISITAR;
for cada vértice v
if (marca[v]==SINVISITAR)
BPA(v);
}

•

BPA(v)
{
marca[v] = VISITADO;
InsertaCola(v, C)
while not EsVacíaCola(C) {
u = SuprimirCola(C);
for cada nodo y adyacente a u {
if (marca[y]==SINVISITAR) {
marca[y] = VISITADO;
InsertaCola(y, C);
}
}
}
}

Orden de complejidad del recorrido en anchura:

– Con lista de adyacencia: O(n + e).
– Con matriz de adyacencia: O(n2).
Recorridos

12
Recorrido BPA
•

Recorridos

Applet de animación del recorrido BPA

13
Usos de los Recorridos
•

Ambos recorridos se pueden usar para resolver los
siguientes problemas:
–
–
–
–

•

Probar que G es conectado.
Obtener un árbol de expansión de G.
Obtener los componentes conectados de G.
Obtener un camino entre dos vértices dados de G, o indicar que
no existe tal camino.

El recorrido BPP se usa para:
– Obtener un ciclo en G, o indicar que G no tiene ciclos.

•

El recorrido BPA se usa para:
– Obtener para cada vértice v de G, el número mínimo de aristas
de cualquier camino entre s y v.

Recorridos

14
Digrafos acíclicos
•
•
•

Es un grafo dirigido que no tiene ciclos.
Representan relaciones más generales que los
árboles pero menos generales que los digrafos.
Ejemplo: representar estructuras sintácticas de
expresiones aritméticas con subexpresiones
comunes y el orden parcial de un conjunto.
*
+
a

Recorridos

+
b

d

*

Orden parcial R en un conjunto
S, relación binaria que cumple:
∀ elemento a de S, (a R a)
es falso.
∀ a, b, c de S, si (a R b) y
(b R c) entonces (a R c).

(a+b)*(d+d*(a+b))
15
Digrafos acíclicos
•
•

Un grafo es acíclico si durante un recorrido BPP no
existen aristas de vuelta atrás o retorno.
Algoritmo: recorrer el digrafo usando BPP y
numerando los nodos nuevos en el recorrido. Si en
algún momento en una arista de retorno un nodo
descendiente tiene un nivel de profundidad menor
que el antecesor, entonces existe un ciclo.
1
2
3

Recorridos

arista de retorno

4

6

5
7

16
Orden topológico
•

•
•

Ordenamiento topológico de un digrafo acíclico: orden
lineal de los vértices colocándolos a lo largo de una
línea horizontal de tal manera que todas las aristas
tengan una dirección de izquierda a derecha.
Ejemplo: las tareas de un proyecto de construcción.
Algoritmo: usar una versión modificada de BPP.
orden_topologico(v)
/* orden inverso */
{
marca[v]=VISITADO;
for cada vértice w en lista_adyacencia(v)
if (marca[w]==SINVISITAR)
orden_topologico(w);
imprime(v);
}

Recorridos

17
Orden topológico
•

Ejemplo
1

3

6

4

2

•

Recorridos

Orden topológico:
123456
132456
215346

5

1

2

3

4

5

6

18
Indice
1. Introducción.
2. Definiciones.
3. Recorridos en grafos.
4. Algoritmos de caminos más cortos.
5. Árbol de cubrimiento de costo mínimo.
6. Flujo en redes. Flujo máximo.

Recorridos

19

Mais conteúdo relacionado

Mais procurados

1 . desarrollo de un prisma hexagonal truncado
1 . desarrollo de un prisma hexagonal truncado1 . desarrollo de un prisma hexagonal truncado
1 . desarrollo de un prisma hexagonal truncado
Boris Cabrera
 
Conceptos, que es un circuito, elementos, magnitudes
Conceptos, que es un circuito, elementos, magnitudesConceptos, que es un circuito, elementos, magnitudes
Conceptos, que es un circuito, elementos, magnitudes
LuisfelipePerezAceve
 

Mais procurados (20)

1 . desarrollo de un prisma hexagonal truncado
1 . desarrollo de un prisma hexagonal truncado1 . desarrollo de un prisma hexagonal truncado
1 . desarrollo de un prisma hexagonal truncado
 
Circuito simple
Circuito simpleCircuito simple
Circuito simple
 
El Voltímetro...
El Voltímetro...El Voltímetro...
El Voltímetro...
 
Teorema da superposição
Teorema da superposiçãoTeorema da superposição
Teorema da superposição
 
Eletrostática
EletrostáticaEletrostática
Eletrostática
 
TRAZADOS FUNDAMENTALES EN EL PLANO 2. DIBUJO TÉCNICO II. 2º BACHILLERATO
TRAZADOS FUNDAMENTALES EN EL PLANO 2. DIBUJO TÉCNICO II. 2º BACHILLERATOTRAZADOS FUNDAMENTALES EN EL PLANO 2. DIBUJO TÉCNICO II. 2º BACHILLERATO
TRAZADOS FUNDAMENTALES EN EL PLANO 2. DIBUJO TÉCNICO II. 2º BACHILLERATO
 
Experimento 4
Experimento 4Experimento 4
Experimento 4
 
Apresentacao corrente eletrica
Apresentacao corrente eletricaApresentacao corrente eletrica
Apresentacao corrente eletrica
 
Mayrasilva 10-1 pila casera
Mayrasilva 10-1 pila caseraMayrasilva 10-1 pila casera
Mayrasilva 10-1 pila casera
 
Electricidad ternium
Electricidad terniumElectricidad ternium
Electricidad ternium
 
CURVAS TÉCNICAS. ÓVALOS, OVOIDES Y ESPIRALES
CURVAS TÉCNICAS. ÓVALOS, OVOIDES Y ESPIRALESCURVAS TÉCNICAS. ÓVALOS, OVOIDES Y ESPIRALES
CURVAS TÉCNICAS. ÓVALOS, OVOIDES Y ESPIRALES
 
Principios basicos de electricidad
Principios basicos de electricidadPrincipios basicos de electricidad
Principios basicos de electricidad
 
Electro
ElectroElectro
Electro
 
Reporte de práctica de Batería con limones
Reporte de práctica de Batería con limones Reporte de práctica de Batería con limones
Reporte de práctica de Batería con limones
 
Conceptos, que es un circuito, elementos, magnitudes
Conceptos, que es un circuito, elementos, magnitudesConceptos, que es un circuito, elementos, magnitudes
Conceptos, que es un circuito, elementos, magnitudes
 
Resistores
ResistoresResistores
Resistores
 
Jose montilla respuestas de ejercicios grafos
Jose montilla respuestas de ejercicios grafosJose montilla respuestas de ejercicios grafos
Jose montilla respuestas de ejercicios grafos
 
Ley de Ohm
Ley de OhmLey de Ohm
Ley de Ohm
 
Clase 4 empalmes - 2020
Clase 4   empalmes - 2020Clase 4   empalmes - 2020
Clase 4 empalmes - 2020
 
5. línea inclinada
5. línea inclinada5. línea inclinada
5. línea inclinada
 

Semelhante a Tema recorridos en_grafos

Grafoscuestionario
GrafoscuestionarioGrafoscuestionario
Grafoscuestionario
UTCH
 
Algoritmos de kruskal y prim
Algoritmos de kruskal y primAlgoritmos de kruskal y prim
Algoritmos de kruskal y prim
fher969
 
Algoritmos de kruskal y prim
Algoritmos de kruskal y primAlgoritmos de kruskal y prim
Algoritmos de kruskal y prim
fher969
 
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
Rosa E Padilla
 

Semelhante a Tema recorridos en_grafos (20)

Diapo teoria de grafos
Diapo teoria de grafosDiapo teoria de grafos
Diapo teoria de grafos
 
Aplicaciones de los árboles y grafos
Aplicaciones de los árboles y grafosAplicaciones de los árboles y grafos
Aplicaciones de los árboles y grafos
 
Grafos2010
Grafos2010Grafos2010
Grafos2010
 
Grafos
GrafosGrafos
Grafos
 
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
 
Grafoscuestionario
GrafoscuestionarioGrafoscuestionario
Grafoscuestionario
 
Jiménez iris taller1
Jiménez iris taller1Jiménez iris taller1
Jiménez iris taller1
 
Geraldo escalona
Geraldo escalonaGeraldo escalona
Geraldo escalona
 
Grafos
GrafosGrafos
Grafos
 
Algoritmos de kruskal y prim
Algoritmos de kruskal y primAlgoritmos de kruskal y prim
Algoritmos de kruskal y prim
 
Algoritmos de kruskal y prim
Algoritmos de kruskal y primAlgoritmos de kruskal y prim
Algoritmos de kruskal y prim
 
Grafos avanzado
Grafos avanzadoGrafos avanzado
Grafos avanzado
 
Matemáticas discretas- Teoría de Grafos
Matemáticas discretas- Teoría de GrafosMatemáticas discretas- Teoría de Grafos
Matemáticas discretas- Teoría de Grafos
 
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
 
Grafos y caminos
Grafos y caminosGrafos y caminos
Grafos y caminos
 
Recorrido grafos
Recorrido grafosRecorrido grafos
Recorrido grafos
 
Grafos
GrafosGrafos
Grafos
 
Grafos jairo alvardo
Grafos jairo alvardoGrafos jairo alvardo
Grafos jairo alvardo
 
Teoria De Grafos
Teoria De GrafosTeoria De Grafos
Teoria De Grafos
 
Tema grafos
Tema grafosTema grafos
Tema grafos
 

Último

NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
UPTAIDELTACHIRA
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
jlorentemartos
 

Último (20)

ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literario
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIASISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
 
Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024
 
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
SESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.docSESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.doc
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
Infografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfInfografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdf
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
 
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
 
Tema 11. Dinámica de la hidrosfera 2024
Tema 11.  Dinámica de la hidrosfera 2024Tema 11.  Dinámica de la hidrosfera 2024
Tema 11. Dinámica de la hidrosfera 2024
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptx
 
Diapositivas de animales reptiles secundaria
Diapositivas de animales reptiles secundariaDiapositivas de animales reptiles secundaria
Diapositivas de animales reptiles secundaria
 
Análisis de los Factores Externos de la Organización.
Análisis de los Factores Externos de la Organización.Análisis de los Factores Externos de la Organización.
Análisis de los Factores Externos de la Organización.
 
La Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalLa Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración Ambiental
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
 
Abril 2024 - Maestra Jardinera Ediba.pdf
Abril 2024 -  Maestra Jardinera Ediba.pdfAbril 2024 -  Maestra Jardinera Ediba.pdf
Abril 2024 - Maestra Jardinera Ediba.pdf
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
 

Tema recorridos en_grafos

  • 2. Indice • • • • Introducción. Búsqueda primero en profundidad. Búsqueda primero en anchura. Usos de los recorridos. – Digrafos acíclicos. – Orden topológico. Recorridos 2
  • 3. Introducción • • Recorridos Recorrido: procedimiento sistemático de exploración de un grafo mediante el examen de todos sus vértices y aristas. Un recorrido es eficiente si visita todos los vértices y aristas en un tiempo proporcional a su número, esto es, en tiempo lineal. 3
  • 4. Búsqueda primero en profundidad • Recorridos Analogía: deambular en un laberinto con una cuerda y un bote de pintura, para no perderse. – Se selecciona un vértice inicial s de G, al que se fija un extremo de la cuerda y se pinta s como "visitado". Se asigna s a u (vértice en curso). – Se recorre G considerando una arista arbitraria (u, v). Si la arista (u, v) conduce a una vértice v ya visitado se retorna inmediatamente al vértice u. – Si (u, v) conduce a un vértice no visitado v, entonces se extiende la cuerda y se fija en v. Se pinta v como "visitado" y se asigna a u (vértice en curso), repitiendo el mismo procedimiento anterior. – Si todas las aristas incidentes a un vértice conducen a vértices ya visitados, se enrolla la cuerda vuelta atrás a la arista que condujo a u y se repite el procedimiento anterior para las aristas incidentes que no se han recorrido antes. – El proceso termina cuando la vuelta atrás conduce al vértice inicial s y no hay más aristas incidentes sin explorar desde s. 4
  • 5. Búsqueda primero en profundidad • Animación a b a c b a c b c d e d e d e a b a b a b c d Recorridos c e d c e d e 5
  • 6. Búsqueda primero en profundidad • • El recorrido BPP es una generalización del recorrido preorden de un árbol. Se pueden identificar cuatro tipos de aristas durante el recorrido: – Aristas de descubrimiento: son aquellas aristas que conducen al descubrimiento de nuevos vértices. También se les llama aristas de árbol. – Aristas de retorno: son las aristas que conducen a vértices antecesores ya visitados en el árbol. – Aristas de avance: son las aristas que conducen a vértices descendientes en el árbol. – Aristas de cruce: son aristas que conducen a un vértice que no es ancestro de otro o a vértices que están en diferentes árboles. • Recorridos Las aristas de descubrimiento forman un árbol de cubrimiento de los componentes conectados del vértice inicial s. 6
  • 7. Algoritmo recursivo BPP recorre_grafo_bpp() { for cada vértice v marca[v]=SINVISITAR; for cada vértice v if (marca[v]==SINVISITAR) BPP(v); } • BPP(u) { marca[u]=VISITADO; for cada vértice v adyacente a u if (marca[v]==SINVISITAR) BPP(v); } Orden de complejidad del recorrido en profundidad: – Con lista de adyacencia, se recorre cada elemento de lista una vez, O(n + e). – Con matriz de adyacencia, para cada nodo se buscan sus adyacentes, O(n2). Recorridos 7
  • 8. Algoritmo recursivo BPP • Recorridos Applet de animación del recorrido BPP 8
  • 9. Búsqueda primero en anchura • Analogía: deambular en un laberinto con una cuerda y un bote de pintura, para no perderse. – Se selecciona un vértice inicial s de G, al que se fija inicialmente un extremo de la cuerda y se marca s con el nivel 0. – Se ajusta la longitud de la cuerda igual al de una arista. Se visitan y marcan con 1 todos los vértices adyacentes a s que se alcanzan con esa longitud. – Se repite el proceso anterior con una longitud de cuerda igual al de dos aristas. Todos los vértices adyacentes al nivel 1 se marcan con el nivel 2. – El recorrido termina cuando todos los vértices tienen asignado un nivel. Recorridos 9
  • 10. Búsqueda primero en anchura • Animación 0 a 0 b 1 a b 1 c c d 1 e 0 d e 1 a b 1 c 1 Recorridos d e 2 10
  • 11. Búsqueda primero en anchura • • El recorrido BPA es una generalización del recorrido por niveles de un árbol. Se pueden identificar dos tipos de aristas durante el recorrido: – Aristas de descubrimiento: son aquellas aristas que conducen al descubrimiento de nuevos vértices. – Aristas de cruce: son aristas que conducen a un vértice ya visitado. • Las aristas de descubrimiento forman un árbol de cubrimiento de los componentes conectados del vértice inicial s. Recorridos 11
  • 12. Algoritmo BPA recorre_grafo_bpa() { for cada vértice v marca[v]=SINVISITAR; for cada vértice v if (marca[v]==SINVISITAR) BPA(v); } • BPA(v) { marca[v] = VISITADO; InsertaCola(v, C) while not EsVacíaCola(C) { u = SuprimirCola(C); for cada nodo y adyacente a u { if (marca[y]==SINVISITAR) { marca[y] = VISITADO; InsertaCola(y, C); } } } } Orden de complejidad del recorrido en anchura: – Con lista de adyacencia: O(n + e). – Con matriz de adyacencia: O(n2). Recorridos 12
  • 13. Recorrido BPA • Recorridos Applet de animación del recorrido BPA 13
  • 14. Usos de los Recorridos • Ambos recorridos se pueden usar para resolver los siguientes problemas: – – – – • Probar que G es conectado. Obtener un árbol de expansión de G. Obtener los componentes conectados de G. Obtener un camino entre dos vértices dados de G, o indicar que no existe tal camino. El recorrido BPP se usa para: – Obtener un ciclo en G, o indicar que G no tiene ciclos. • El recorrido BPA se usa para: – Obtener para cada vértice v de G, el número mínimo de aristas de cualquier camino entre s y v. Recorridos 14
  • 15. Digrafos acíclicos • • • Es un grafo dirigido que no tiene ciclos. Representan relaciones más generales que los árboles pero menos generales que los digrafos. Ejemplo: representar estructuras sintácticas de expresiones aritméticas con subexpresiones comunes y el orden parcial de un conjunto. * + a Recorridos + b d * Orden parcial R en un conjunto S, relación binaria que cumple: ∀ elemento a de S, (a R a) es falso. ∀ a, b, c de S, si (a R b) y (b R c) entonces (a R c). (a+b)*(d+d*(a+b)) 15
  • 16. Digrafos acíclicos • • Un grafo es acíclico si durante un recorrido BPP no existen aristas de vuelta atrás o retorno. Algoritmo: recorrer el digrafo usando BPP y numerando los nodos nuevos en el recorrido. Si en algún momento en una arista de retorno un nodo descendiente tiene un nivel de profundidad menor que el antecesor, entonces existe un ciclo. 1 2 3 Recorridos arista de retorno 4 6 5 7 16
  • 17. Orden topológico • • • Ordenamiento topológico de un digrafo acíclico: orden lineal de los vértices colocándolos a lo largo de una línea horizontal de tal manera que todas las aristas tengan una dirección de izquierda a derecha. Ejemplo: las tareas de un proyecto de construcción. Algoritmo: usar una versión modificada de BPP. orden_topologico(v) /* orden inverso */ { marca[v]=VISITADO; for cada vértice w en lista_adyacencia(v) if (marca[w]==SINVISITAR) orden_topologico(w); imprime(v); } Recorridos 17
  • 19. Indice 1. Introducción. 2. Definiciones. 3. Recorridos en grafos. 4. Algoritmos de caminos más cortos. 5. Árbol de cubrimiento de costo mínimo. 6. Flujo en redes. Flujo máximo. Recorridos 19