Академический Документы
Профессиональный Документы
Культура Документы
Reyes
Introduccin
Cierta regin se ve devastada por un terremoto que destruye todas sus carreteras.
Las autoridades se plantean conseguir la normalidad lo antes posible, haciendo que
dos ciudades cualesquiera estn comunicadas entre si. Qu carreteras tendrn que
t i i id d? reconstruir con mayor prioridad?
i
s
c
r
e
t
a
m
t
i
c
a
D
M
a
t
e
m
P.Reyes
Introduccin
Cierta regin se ve devastada por un terremoto que destruye todas sus carreteras.
Las autoridades se plantean conseguir la normalidad lo antes posible, haciendo que
dos ciudades cualesquiera estn comunicadas entre si. Qu carreteras tendrn que
t i i id d? reconstruir con mayor prioridad?
i
s
c
r
e
t
a
m
t
i
c
a
D
M
a
t
e
m
P.Reyes
Introduccin
Cierta regin se ve devastada por un terremoto que destruye todas sus carreteras.
Las autoridades se plantean conseguir la normalidad lo antes posible, haciendo que
dos ciudades cualesquiera estn comunicadas entre si. Qu carreteras tendrn que
t i i id d? reconstruir con mayor prioridad?
i
s
c
r
e
t
a
Grafo conexo
Sin ciclos
m
t
i
c
a
D
M
a
t
e
m
P.Reyes
Introduccin
Cmo reconstruir algunas carreteras entre las capitales de Andaluca,
de forma que se pueda ir de una capital a otra y se reconstruya el
menor nmero de kilmetros? menor nmero de kilmetros?
CO
138
104
i
s
c
r
e
t
a
SE
JA
GR
138
94
187
166
99
m
t
i
c
a
D
GR
AL
H
125
219
256
129
166
M
a
t
e
m
AL
MA
CA
219
265
P.Reyes
Introduccin
Cmo reconstruir algunas carreteras entre las capitales de Andaluca,
de forma que se pueda ir de una capital a otra y se reconstruya el
menor nmero de kilmetros? menor nmero de kilmetros?
CO
138
104
i
s
c
r
e
t
a
SE
JA
GR
138
94
187
166
99
855 Km
m
t
i
c
a
D
GR
AL
H
125
219
256
129
166
M
a
t
e
m
AL
MA
CA
219
265
P.Reyes
Introduccin
El servicio de ambulancias
de una ciudad tiene que
acudir repetidamente a p
distintos ncleos de
poblacin de la ciudad.
Cul es el camino de menor
distancia a cada uno de ellos?
i
s
c
r
e
t
a
distancia a cada uno de ellos?
m
t
i
c
a
D
M
a
t
e
m
rbol de camino ms corto
desde un vrtice del grafo
ponderado a los dems.
P.Reyes
Tema 3: rboles
Introduccin. Caracterizacin.
rboles enraizados
i
s
c
r
e
t
a
rboles de decisin
m
t
i
c
a
D
rboles recubridores
M
a
t
e
m
Grafos ponderados. Camino ms corto. Grafos ponderados. Camino ms corto.
P.Reyes
Introduccin
Matemtica
Discreta Un grafo T=(V,A) es un rbol si
s
r
b
o
l
e
s
Tema 3: 8
P.Reyes
Introduccin
Matemtica
Discreta Un grafo T=(V,A) es un rbol si
Es conexo (T.1)
s
r
b
o
l
e
s
Tema 3: 9
P.Reyes
Introduccin
Matemtica
Discreta Un grafo T=(V,A) es un rbol si
Es conexo (T.1)
No contiene ciclos (T.2) ( )
s
r
b
o
l
e
s
Tema 3: 10
P.Reyes
Introduccin
Matemtica
Discreta Un grafo T=(V,A) es un rbol si
Es conexo (T.1)
No contiene ciclos (T.2) ( )
Un grafo G=(V,A) que no contiene ciclos se llama bosque.
s
Cada componente conexa de un bosque es un rbol.
r
b
o
l
e
s
Tema 3: 11
P.Reyes
Introduccin
Matemtica
Discreta Un grafo T=(V,A) es un rbol si
Es conexo (T.1)
No contiene ciclos (T.2) ( )
s
Otras propiedades:
r
b
o
l
e
s
Dados dos vrtices cualesquiera del grafo T=(V,A),
existe un nico camino simple entre ellos.
(T.3)
(T.4)
cada una de ellas un rbol.
Si T=(V,A) es un grafo con n
v
vrtices y n
a
aristas, (T.5)
Tema 3: 12
entonces n
a
=n
v
-1.
P.Reyes
Introduccin
Conexo (T.1)
No tiene ciclos (T.2)
E t d d ti (T3)
Matemtica
Discreta
Entre cada dos vrtices
existe un nico camino.
(T.3)
Si se elimina una arista
se obtienen dos rboles
(T.4)
Teorema de caracterizacin de rboles:
DadoungrafoT=(V,A), sonequivalenteslas
n vrtices = n aristas +1 (T.5)
Dado un grafo T (V,A), son equivalentes las
siguientes condiciones:
a) T es un rbol (T.1 y T.2)
s
b) Entre dos vrtices cualesquiera de T existe un nico camino simple (T.3)
c) T es conexo y al eliminar una arista cualquiera del grafo se desconecta
r
b
o
l
e
s
dando lugar a dos componentes conexas, que son rboles (T.1 y T.4)
d) T es conexo y n
a
=n
v
-1, siendo n
a
el nmero de aristas y n
v
el nmero de
vrtices(T1yT5)
r
b
o
l
e
s
cualquier arista se produce un
bosque de dos rboles.
un grafo conexo con n vrtices y
r
b
o
l
e
s
v
u
Tema 3: 15
P.Reyes
Introduccin
Matemtica
Discreta
1) Si a un rbol se aade una arista se genera un ciclo.
Algunas propiedades:
2) Si eliminamos otra arista del ciclo as obtenido se obtiene
otro rbol, no necesariamente isomorfo al anterior.
s
r
b
o
l
e
s
v
u
v
u
(4,3,3,2,2,2,1,1,1,1,1,1)
(3,3,3,2,2,2,2,1,1,1,1,1)
Tema 3: 16
P.Reyes
Introduccin
Matemtica
Discreta
1) Si a un rbol se aade una arista se genera un ciclo.
Algunas propiedades:
2) Si eliminamos otra arista del ciclo as obtenido se obtiene
otro rbol, no necesariamente isomorfo al anterior.
s
3) Si G=(V,A) es un bosque con c componentes conexas
(rboles), entonces n
v
= n
a
+ c
r
b
o
l
e
s
(V A ) (V A ) (V A ) (V A ) (V
1
,A
1
) (V
2
,A
2
) (V
c
,A
c
) (V
3
,A
3
)
v
1
= a
1
+ 1 v
2
= a
2
+ 1 v
3
= a
3
+ 1 v
c
= a
c
+ 1
Tema 3: 17
n
v
=v
1
+ v
2
+ v
3
+ ... + v
c
= a
1
+1+ a
2
+1+ a
3
+1 + .... + a
c
+ 1= n
a
+ c
P.Reyes
Introduccin
Matemtica
Discreta
1) Si a un rbol se aade una arista se genera un ciclo.
Algunas propiedades:
2) Si eliminamos otra arista del ciclo as obtenido se obtiene
otro rbol, no necesariamente isomorfo al anterior.
s
3) Si G=(V,A) es un bosque con c componentes conexas
(rboles), entonces n
v
= n
a
+ c
r
b
o
l
e
s
4) Si a un rbol le aadimos un vrtice y una arista incidente en
l, se obtiene un nuevo rbol.
,
conexo
n
v
= n
a
+ 1
Tema 3: 18
n
v
= n
a
+ 1
P.Reyes
Introduccin
Matemtica
Discreta
Ejercicio: Obtener todos los rboles de menos de 7 vrtices
n
v
n
a
Lista de grados
1 0 (0)
2 1 (1,1)
3 2 (2,1,1)
4 3 (3,1,1,1) (2,2,1,1)
5 4 (4,1,1,1,1) (3,2,1,1,1) (2,2,2,1,1)
s
( , , , , ) ( , , , , ) ( , , , , )
6 5 (5,1,1,1,1,1) (4,2,1,1,1,1) (3,3,1,1,1,1) (3,2,2,1,1,1) (2,2,2,2,1,1)
r
b
o
l
e
s
Tema 3: 19
P.Reyes
rboles enraizados
Matemtica
Discreta
rbol con un vrtice destacado (raz).
i
d
g
c
a
k
s
Nivel 0
r
h
f
e
b
j
r
h
g
j
r
b
o
l
e
s
Nivel 2
Nivel 1
f
i
e
h
g
j
k
Nivel 3
f
c
peso o altura del rbol
Nivel 4
Nivel 5 b
d
a
p
Tema 3: 20
Nivel 5 b
P.Reyes
rboles enraizados
Matemtica
Discreta
c es vrtice padre de d
d es vrtice hijo de c
r
h
g
j
k
j
i
e
h
g
j
k
g es vrtice abuelo de f
f i i d
s
f
c
d
a
f es vrtice nieto de g
g es ascendiente de a
r
b
o
l
e
s
b
d
a
a es descendiente de g
b
hojas
vrtices internos
Tema 3: 21
P.Reyes
rboles enrazados
rboles enrazados isomorfos:
Matemtica
Discreta
rboles isomorfos con la
misma raz.
Mismos vrtices en cada nivel
Misma altura
r
h
g
j
b
r
h
j
g
s
i
e
b
h
j
b
g
e
i
j
r
b
o
l
e
s
f
c
d
a
f c
j
r
d
a
d a
h
g
b
i
e
f
c
Tema 3: 22
d
a
P.Reyes
rboles enraizados
Matemtica
Discreta rbol m-ario: Todos los vrtices internos tienen m hijos
b l bi i ( 2) rbol binario (m=2)
rbol ternario (m=3)
s
r
b
o
l
e
s
Tema 3: 23
P.Reyes
rboles enraizados
Matemtica
Discreta rbol m-ario: Todos los vrtices internos tienen m hijos
rbol m-ario completo: Todas las hojas al mismo nivel
s
rbol ternario (no completo)
rbol binario completo
r
b
o
l
e
s
Tema 3: 24
P.Reyes
rboles enraizados
Matemtica
Discreta
Propiedades de los rboles m-arios:
1) Sea T=(V,A) un rbol m-ario, de altura p y h hojas. Entonces se
verifican las dos desigualdades siguientes (que son equivalentes):
a) p log
m
h b) h m
p
Demostracin: Induccin en p.
s
2) Si T=(V,A) es un rbol m-ario con i vrtices internos, su nmero total de
vrtices viene dado por
Demostracin: Induccin en p.
r
b
o
l
e
s
n = m i + 1
Demostracin:
r
b
o
l
e
s
coste del algoritmo altura del rbol
r
b
o
l
e
s
B: No hay moneda falsa
iP: La moneda i es falsa (pesada)
Aristas
<
=
>
iL: La moneda i es falsa (ligera)
Nmero de hojas: h = 2r + 1
Altura del rbol: p log
3
(2r+1)
Tema 3: 27
P.Reyes
rboles de decisin
Matemtica
Discreta
Problema de la moneda falsa:
Tenemos una moneda autntica (0) y otras r monedas (1,2,...,r), indistinguibles de
la autntica por su apariencia. Se sospecha que una de estas monedas es falsa
(d i d li d i d d ) C l l d d (demasiado ligera o demasiado pesada). Cul es el menor nmero de pesadas
necesarias para determinar qu moneda es falsa, si es que hay alguna, y si es mas
ligera o ms pesada que el resto?
Ejemplo: (r=4)
s
h=9: B, 1P, 2P, 3P, 4P, 1L, 2L, 3L, 4L
Altura del rbol: p log
3
(9) = 2
r
b
o
l
e
s
0,1 2,3
<
>
<
=
>
2 3 0 4 2 3
< >
=
< >
=
< >
=
Tema 3: 28
3P 1L 2P 4P B 4L 2L 1P 3L
P.Reyes
rboles recubridores
Matemtica
Discreta
Dado un grafo G = (V,A), un rbol recubridor de G es un rbol que es
subgrafo recubridor de G (su conjunto de vrtices es V).
s
r
b
o
l
e
s
Tema 3: 29
P.Reyes
rboles recubridores
Matemtica
Discreta
Teorema: Un grafo G = (V, A) contiene algn rbol recubridor si,
y slo si, es conexo.
Bsqueda en profundidad (DFS)
s
Algoritmos de bsqueda
deunrbol recubridor
q p ( )
(Depth First Search)
r
b
o
l
e
s
de un rbol recubridor
Bsqueda en anchura (BFS)
(Breadth First Search)
Tema 3: 30
P.Reyes
rboles recubridores
Q es una pila (LIFO)
Matemtica
Discreta
Algoritmo de bsqueda en profundidad (DFS)
Q p ( )
P01: Leer un grafo conexo G=(V,A)
P02: V=; A= (vrtices y aristas del rbol recubridor)
P03: Q={x} siendo x V un vrtice cualquiera del grafo G
s
P03: Q={x}, siendo x V un vrtice cualquiera del grafo G
P04: Marcar x como visitado
P05: Aadir el vrtice x a V
r
b
o
l
e
s
P06: Mientras que Q :
P07: x=ltimo elemento de Q
P08: Si x es adyacente a algn vrtice y no visitado
v
4
v
5
v
6
s
P07: x=ltimo elemento de Q
P08: Si x es adyacente a algn vrtice y no visitado
P09: Aadir y al final de Q
P10: Marcar y como visitado
r
b
o
l
e
s
P11: Aadir a A la arista {x,y}; aadir a V el vrtice y
P12: En caso contrario
P13: Quitar x de la pila Q
P14: Retorna el rbol T = (V,A)
( , )
Paso x y Pila (Q) Vrtices visitados (V) Aristas (A)
Tema 3: 32
02 { } { }
P.Reyes
rboles recubridores
v
1
v
2
Matemtica
Discreta
v
3
v
v
P01: Leer un grafo conexo G=(V,A)
P02: V= ; A= (vrtices y aristas del rbol recubridor)
P03: Q={x} siendo x V un vrtice cualquiera del grafo G
Algoritmo DFS
v
4
v
5
v
6
P03: Q={x}, siendo x V un vrtice cualquiera del grafo G
P04: Marcar x como visitado
P05: Aadir el vrtice x a V
P06: Mientras que Q :
s
v
1
P07: x=ltimo elemento de Q
P08: Si x es adyacente a algn vrtice y no visitado
P09: Aadir y al final de Q
P10: Marcar y como visitado
r
b
o
l
e
s
P11: Aadir a A la arista {x,y}; aadir a V el vrtice y
P12: En caso contrario
P13: Quitar x de la pila Q
P14: Retorna el rbol T = (V,A)
( , )
Paso x y Pila (Q) Vrtices visitados (V) Aristas (A)
Tema 3: 33
03-05 v
1
{v
1
} {v
1
} { }
P.Reyes
rboles recubridores
v
1
v
2
Matemtica
Discreta
v
3
v
v
P01: Leer un grafo conexo G=(V,A)
P02: V= ; A= (vrtices y aristas del rbol recubridor)
P03: Q={x} siendo x V un vrtice cualquiera del grafo G
Algoritmo DFS
v
4
v
5
v
6
P03: Q={x}, siendo x V un vrtice cualquiera del grafo G
P04: Marcar x como visitado
P05: Aadir el vrtice x a V
P06: Mientras que Q :
s
v
1
v
3
P07: x=ltimo elemento de Q
P08: Si x es adyacente a algn vrtice y no visitado
P09: Aadir y al final de Q
P10: Marcar y como visitado
r
b
o
l
e
s
P11: Aadir a A la arista {x,y}; aadir a V el vrtice y
P12: En caso contrario
P13: Quitar x de la pila Q
P14: Retorna el rbol T = (V,A)
( , )
Paso x y Pila (Q) Vrtices visitados (V) Aristas (A)
Tema 3: 34
07;08-11 v
1
v
3
{v
1
,v
3
} {v
1
,v
3
} {v
1
-v
3
}
P.Reyes
rboles recubridores
v
1
v
2
Matemtica
Discreta
v
3
v
v
P01: Leer un grafo conexo G=(V,A)
P02: V= ; A= (vrtices y aristas del rbol recubridor)
P03: Q={x} siendo x V un vrtice cualquiera del grafo G
Algoritmo DFS
v
4
v
5
v
6
P03: Q={x}, siendo x V un vrtice cualquiera del grafo G
P04: Marcar x como visitado
P05: Aadir el vrtice x a V
P06: Mientras que Q :
s
v
1
v
3
P07: x=ltimo elemento de Q
P08: Si x es adyacente a algn vrtice y no visitado
P09: Aadir y al final de Q
P10: Marcar y como visitado
r
b
o
l
e
s
v
4
P11: Aadir a A la arista {x,y}; aadir a V el vrtice y
P12: En caso contrario
P13: Quitar x de la pila Q
P14: Retorna el rbol T = (V,A)
( , )
Paso x y Pila (Q) Vrtices visitados (V) Aristas (A)
Tema 3: 35
07;08-11 v
3
v
4
{v
1
,v
3
,v
4
} {v
1
,v
3
,v
4
} {v
1
-v
3
,v
3
-v
4
}
P.Reyes
rboles recubridores
v
1
v
2
Matemtica
Discreta
v
3
v
v
P01: Leer un grafo conexo G=(V,A)
P02: V= ; A= (vrtices y aristas del rbol recubridor)
P03: Q={x} siendo x V un vrtice cualquiera del grafo G
Algoritmo DFS
v
4
v
5
v
6
P03: Q={x}, siendo x V un vrtice cualquiera del grafo G
P04: Marcar x como visitado
P05: Aadir el vrtice x a V
P06: Mientras que Q :
s
v
1
v
3
P07: x=ltimo elemento de Q
P08: Si x es adyacente a algn vrtice y no visitado
P09: Aadir y al final de Q
P10: Marcar y como visitado
r
b
o
l
e
s
v
2
v
4
P11: Aadir a A la arista {x,y}; aadir a V el vrtice y
P12: En caso contrario
P13: Quitar x de la pila Q
P14: Retorna el rbol T = (V,A)
2
( , )
Paso x y Pila (Q) Vrtices visitados (V) Aristas (A)
Tema 3: 36
07;08-11 v
4
v
2
{v
1
,v
3
,v
4
,v
2
} {v
1
,v
3
,v
4
,v
2
} {v
1
-v
3
,v
3
-v
4
,v
4
-v
2
}
P.Reyes
rboles recubridores
v
1
v
2
Matemtica
Discreta
v
3
v
v
P01: Leer un grafo conexo G=(V,A)
P02: V= ; A= (vrtices y aristas del rbol recubridor)
P03: Q={x} siendo x V un vrtice cualquiera del grafo G
Algoritmo DFS
v
4
v
5
v
6
P03: Q={x}, siendo x V un vrtice cualquiera del grafo G
P04: Marcar x como visitado
P05: Aadir el vrtice x a V
P06: Mientras que Q :
s
v
1
v
3
P07: x=ltimo elemento de Q
P08: Si x es adyacente a algn vrtice y no visitado
P09: Aadir y al final de Q
P10: Marcar y como visitado
r
b
o
l
e
s
v
2
v
4
P11: Aadir a A la arista {x,y}; aadir a V el vrtice y
P12: En caso contrario
P13: Quitar x de la pila Q
P14: Retorna el rbol T = (V,A)
2
v
5
( , )
Paso x y Pila (Q) Vrtices visitados (V) Aristas (A)
Tema 3: 37
07;08-11 v
2
v
5
{v
1
,v
3
,v
4
,v
2
,v
5
} {v
1
,v
3
,v
4
,v
2
,v
5
} {v
1
-v
3
,v
3
-v
4
,v
4
-v
2
,v
2
-v
5
}
P.Reyes
rboles recubridores
v
1
v
2
Matemtica
Discreta
v
3
v
v
P01: Leer un grafo conexo G=(V,A)
P02: V= ; A= (vrtices y aristas del rbol recubridor)
P03: Q={x} siendo x V un vrtice cualquiera del grafo G
Algoritmo DFS
v
4
v
5
v
6
P03: Q={x}, siendo x V un vrtice cualquiera del grafo G
P04: Marcar x como visitado
P05: Aadir el vrtice x a V
P06: Mientras que Q :
s
v
1
v
3
P07: x=ltimo elemento de Q
P08: Si x es adyacente a algn vrtice y no visitado
P09: Aadir y al final de Q
P10: Marcar y como visitado
r
b
o
l
e
s
v
2
v
4
P11: Aadir a A la arista {x,y}; aadir a V el vrtice y
P12: En caso contrario
P13: Quitar x de la pila Q
P14: Retorna el rbol T = (V,A)
2
v
5
( , )
Paso x y Pila (Q) Vrtices visitados (V) Aristas (A)
Tema 3: 38
07;13 v
5
{v
1
,v
3
,v
4
,v
2
} {v
1
,v
3
,v
4
,v
2
,v
5
} {v
1
-v
3
,v
3
-v
4
,v
4
-v
2
,v
2
-v
5
}
P.Reyes
rboles recubridores
v
1
v
2
Matemtica
Discreta
v
3
v
v
P01: Leer un grafo conexo G=(V,A)
P02: V= ; A= (vrtices y aristas del rbol recubridor)
P03: Q={x} siendo x V un vrtice cualquiera del grafo G
Algoritmo DFS
v
4
v
5
v
6
P03: Q={x}, siendo x V un vrtice cualquiera del grafo G
P04: Marcar x como visitado
P05: Aadir el vrtice x a V
P06: Mientras que Q :
s
v
1
v
3
P07: x=ltimo elemento de Q
P08: Si x es adyacente a algn vrtice y no visitado
P09: Aadir y al final de Q
P10: Marcar y como visitado
r
b
o
l
e
s
v
2
v
4
P11: Aadir a A la arista {x,y}; aadir a V el vrtice y
P12: En caso contrario
P13: Quitar x de la pila Q
P14: Retorna el rbol T = (V,A)
2
v
5
( , )
Paso x y Pila (Q) Vrtices visitados (V) Aristas (A)
Tema 3: 39
07;13 v
2
{v
1
,v
3
,v
4
} {v
1
,v
3
,v
4
,v
2
,v
5
} {v
1
-v
3
,v
3
-v
4
,v
4
-v
2
,v
2
-v
5
}
P.Reyes
rboles recubridores
v
1
v
2
Matemtica
Discreta
v
3
v
v
P01: Leer un grafo conexo G=(V,A)
P02: V= ; A= (vrtices y aristas del rbol recubridor)
P03: Q={x} siendo x V un vrtice cualquiera del grafo G
Algoritmo DFS
v
4
v
5
v
6
P03: Q={x}, siendo x V un vrtice cualquiera del grafo G
P04: Marcar x como visitado
P05: Aadir el vrtice x a V
P06: Mientras que Q :
s
v
1
v
3
P07: x=ltimo elemento de Q
P08: Si x es adyacente a algn vrtice y no visitado
P09: Aadir y al final de Q
P10: Marcar y como visitado
r
b
o
l
e
s
v
2
v
4
v
6
P11: Aadir a A la arista {x,y}; aadir a V el vrtice y
P12: En caso contrario
P13: Quitar x de la pila Q
P14: Retorna el rbol T = (V,A)
2
v
5
v
6
( , )
Paso x y Pila (Q) Vrtices visitados (V) Aristas (A)
Tema 3: 40
07;09-11 v
4
v
6
{v
1
,v
3
,v
4
,v
6
} {v
1
,v
3
,v
4
,v
2
,v
5
,v
6
} {v
1
-v
3
,v
3
-v
4
,v
4
-v
2
,v
2
-v
5
,v
4
-v
6
}
P.Reyes
rboles recubridores
v
1
v
2
Matemtica
Discreta
v
3
v
v
P01: Leer un grafo conexo G=(V,A)
P02: V= ; A= (vrtices y aristas del rbol recubridor)
P03: Q={x} siendo x V un vrtice cualquiera del grafo G
Algoritmo DFS
v
4
v
5
v
6
P03: Q={x}, siendo x V un vrtice cualquiera del grafo G
P04: Marcar x como visitado
P05: Aadir el vrtice x a V
P06: Mientras que Q :
s
v
1
v
3
P07: x=ltimo elemento de Q
P08: Si x es adyacente a algn vrtice y no visitado
P09: Aadir y al final de Q
P10: Marcar y como visitado
r
b
o
l
e
s
v
2
v
4
v
6
P11: Aadir a A la arista {x,y}; aadir a V el vrtice y
P12: En caso contrario
P13: Quitar x de la pila Q
P14: Retorna el rbol T = (V,A)
2
v
5
v
6
( , )
Paso x y Pila (Q) Vrtices visitados (V) Aristas (A)
Tema 3: 41
07;13 v
6
{v
1
,v
3
,v
4
} {v
1
,v
3
,v
4
,v
2
,v
5
,v
6
} {v
1
-v
3
,v
3
-v
4
,v
4
-v
2
,v
2
-v
5
,v
4
-v
6
}
P.Reyes
rboles recubridores
v
1
v
2
Matemtica
Discreta
v
3
v
v
P01: Leer un grafo conexo G=(V,A)
P02: V= ; A= (vrtices y aristas del rbol recubridor)
P03: Q={x} siendo x V un vrtice cualquiera del grafo G
Algoritmo DFS
v
4
v
5
v
6
P03: Q={x}, siendo x V un vrtice cualquiera del grafo G
P04: Marcar x como visitado
P05: Aadir el vrtice x a V
P06: Mientras que Q :
s
v
1
v
3
P07: x=ltimo elemento de Q
P08: Si x es adyacente a algn vrtice y no visitado
P09: Aadir y al final de Q
P10: Marcar y como visitado
r
b
o
l
e
s
v
2
v
4
v
6
P11: Aadir a A la arista {x,y}; aadir a V el vrtice y
P12: En caso contrario
P13: Quitar x de la pila Q
P14: Retorna el rbol T = (V,A)
2
v
5
v
6
( , )
Paso x y Pila (Q) Vrtices visitados (V) Aristas (A)
Tema 3: 42
07;13 v
4
{v
1
,v
3
} {v
1
,v
3
,v
4
,v
2
,v
5
,v
6
} {v
1
-v
3
,v
3
-v
4
,v
4
-v
2
,v
2
-v
5
,v
4
-v
6
}
P.Reyes
rboles recubridores
v
1
v
2
Matemtica
Discreta
v
3
v
v
P01: Leer un grafo conexo G=(V,A)
P02: V= ; A= (vrtices y aristas del rbol recubridor)
P03: Q={x} siendo x V un vrtice cualquiera del grafo G
Algoritmo DFS
v
4
v
5
v
6
P03: Q={x}, siendo x V un vrtice cualquiera del grafo G
P04: Marcar x como visitado
P05: Aadir el vrtice x a V
P06: Mientras que Q :
s
v
1
v
3
P07: x=ltimo elemento de Q
P08: Si x es adyacente a algn vrtice y no visitado
P09: Aadir y al final de Q
P10: Marcar y como visitado
r
b
o
l
e
s
v
2
v
4
v
6
P11: Aadir a A la arista {x,y}; aadir a V el vrtice y
P12: En caso contrario
P13: Quitar x de la pila Q
P14: Retorna el rbol T = (V,A)
2
v
5
v
6
( , )
Paso x y Pila (Q) Vrtices visitados (V) Aristas (A)
Tema 3: 43
07;13 v
3
{v
1
} {v
1
,v
3
,v
4
,v
2
,v
5
,v
6
} {v
1
-v
3
,v
3
-v
4
,v
4
-v
2
,v
2
-v
5
,v
4
-v
6
}
P.Reyes
rboles recubridores
v
1
v
2
Matemtica
Discreta
v
3
v
v
P01: Leer un grafo conexo G=(V,A)
P02: V= ; A= (vrtices y aristas del rbol recubridor)
P03: Q={x} siendo x V un vrtice cualquiera del grafo G
Algoritmo DFS
v
4
v
5
v
6
P03: Q={x}, siendo x V un vrtice cualquiera del grafo G
P04: Marcar x como visitado
P05: Aadir el vrtice x a V
P06: Mientras que Q :
s
v
1
v
3
P07: x=ltimo elemento de Q
P08: Si x es adyacente a algn vrtice y no visitado
P09: Aadir y al final de Q
P10: Marcar y como visitado
r
b
o
l
e
s
v
2
v
4
v
6
P11: Aadir a A la arista {x,y}; aadir a V el vrtice y
P12: En caso contrario
P13: Quitar x de la pila Q
P14: Retorna el rbol T = (V,A)
2
v
5
v
6
( , )
Paso x y Pila (Q) Vrtices visitados (V) Aristas (A)
Tema 3: 44
07;13 v
1
{ } {v
1
,v
3
,v
4
,v
2
,v
5
,v
6
} {v
1
-v
3
,v
3
-v
4
,v
4
-v
2
,v
2
-v
5
,v
4
-v
6
}
P.Reyes
rboles recubridores
Matemtica
Discreta
A
Aplicacin del rbol DFS a la resolucin de laberintos
A
2
9 8
7 6
5
4
3
1
13
2
1
s
12
10
7 6
14
13
11
16
14
9
12
11
13
3
r
b
o
l
e
s
19 17
16 15
18
15
8
10
6
7
17
Z
18
5
4
19
Z
5
Tema 3: 45
P.Reyes
rboles recubridores
Matemtica
Discreta
A
Aplicacin del rbol DFS a la resolucin de laberintos
A
13
2
1
2 5 4 1
s
16
14
9
12
11
13
3
14
13
r
b
o
l
e
s
18
15
8
10
6
7
17
19
16 15
Z
5
4
19
18
Z
5
Tema 3: 46
P.Reyes
rboles recubridores
Q es una cola (FIFO)
Matemtica
Discreta
Algoritmo de bsqueda en anchura (BFS)
Q ( )
P01: Leer un grafo conexo G=(V,A)
P02: V= ; A= (vrtices y aristas del rbol recubridor)
P03: Q={x} siendo x V un vrtice cualquiera del grafo G
s
P03: Q={x}, siendo x V un vrtice cualquiera del grafo G
P04: Marcar x como visitado
P05: Aadir el vrtice x a V
P06 Mi t Q
r
b
o
l
e
s
P06: Mientras que Q :
P07: x=primer elemento de Q
P08: Mientras que exista un vrtice no visitado y, adyacente a x
r
b
o
l
e
s
P11: Aadir a A la arista {x,y}; aadir a V el vrtice y
P12: Eliminar x de la cola Q
P13: Retorna el rbol T = (V,A)
r
b
o
l
e
s
P11: Aadir a A la arista {x,y}; aadir a V el vrtice y
P12: Eliminar x de la cola Q
P13: Retorna el rbol T = (V,A)
r
b
o
l
e
s
3
P11: Aadir a A la arista {x,y}; aadir a V el vrtice y
P12: Eliminar x de la cola Q
P13: Retorna el rbol T = (V,A)
r
b
o
l
e
s
v
4
3
P11: Aadir a A la arista {x,y}; aadir a V el vrtice y
P12: Eliminar x de la cola Q
P13: Retorna el rbol T = (V,A)
r
b
o
l
e
s
v
4
3
P11: Aadir a A la arista {x,y}; aadir a V el vrtice y
P12: Eliminar x de la cola Q
P13: Retorna el rbol T = (V,A)
r
b
o
l
e
s
v
4
3
v
6
P11: Aadir a A la arista {x,y}; aadir a V el vrtice y
P12: Eliminar x de la cola Q
P13: Retorna el rbol T = (V,A)
r
b
o
l
e
s
v
4
3
v
6
P11: Aadir a A la arista {x,y}; aadir a V el vrtice y
P12: Eliminar x de la cola Q
P13: Retorna el rbol T = (V,A)
r
b
o
l
e
s
v
4
3
v
6
P11: Aadir a A la arista {x,y}; aadir a V el vrtice y
P12: Eliminar x de la cola Q
P13: Retorna el rbol T = (V,A)
v
2
Paso x y Cola (Q) Vrtices visitados (V) Aristas (A)
Tema 3: 55
07;08-11 v
4
v
2
{v
4
,v
6
,v
2
} {v
1
,v
3
,v
4
,v
6
,v
2
} {v
1
-v
3
,v
1
-v
4
,v
3
-v
6
,v
4
-v
2
}
P.Reyes
rboles recubridores
v
1
v
2
Matemtica
Discreta
v
3
v
v
P01: Leer un grafo conexo G=(V,A)
P02: V=; A= (vrtices y aristas del rbol recubridor)
P03: Q={x} siendo x V un vrtice cualquiera del grafo G
Algoritmo BFS
v
4
v
5
v
6
P03: Q={x}, siendo x V un vrtice cualquiera del grafo G
P04: Marcar x como visitado
P05: Aadir el vrtice x a V
P06: Mientras que Q :
s
v
1
v
4
v
3
P07: x=primer elemento de Q
P08: Mientras exista un vrtice no visitado y, adyacente a x
P09: Aadir y al final de Q
P10: Marcar y como visitado
r
b
o
l
e
s
v
4
3
v
6
v
P11: Aadir a A la arista {x,y}; aadir a V el vrtice y
P12: Eliminar x de la cola Q
P13: Retorna el rbol T = (V,A)
v
2
v
5
Paso x y Cola (Q) Vrtices visitados (V) Aristas (A)
Tema 3: 56
08-11 v
4
v
5
{v
4
,v
6
,v
2
,v
5
} {v
1
,v
3
,v
4
,v
6
,v
2
,v
5
} {v
1
-v
3
,v
1
-v
4
,v
3
-v
6
,v
4
-v
2
,v
4
-v
5
}
P.Reyes
rboles recubridores
v
1
v
2
Matemtica
Discreta
v
3
v
v
P01: Leer un grafo conexo G=(V,A)
P02: V=; A= (vrtices y aristas del rbol recubridor)
P03: Q={x} siendo x V un vrtice cualquiera del grafo G
Algoritmo BFS
v
4
v
5
v
6
P03: Q={x}, siendo x V un vrtice cualquiera del grafo G
P04: Marcar x como visitado
P05: Aadir el vrtice x a V
P06: Mientras que Q :
s
v
1
v
4
v
3
P07: x=primer elemento de Q
P08: Mientras exista un vrtice no visitado y, adyacente a x
P09: Aadir y al final de Q
P10: Marcar y como visitado
r
b
o
l
e
s
v
4
3
v
6
v
P11: Aadir a A la arista {x,y}; aadir a V el vrtice y
P12: Eliminar x de la cola Q
P13: Retorna el rbol T = (V,A)
v
2
v
5
Paso x y Cola (Q) Vrtices visitados (V) Aristas (A)
Tema 3: 57
07;12 v
4
{v
6
,v
2
,v
5
} {v
1
,v
3
,v
4
,v
6
,v
2
,v
5
} {v
1
-v
3
,v
1
-v
4
,v
3
-v
6
,v
4
-v
2
,v
4
-v
5
}
P.Reyes
rboles recubridores
v
1
v
2
Matemtica
Discreta
v
3
v
v
P01: Leer un grafo conexo G=(V,A)
P02: V=; A= (vrtices y aristas del rbol recubridor)
P03: Q={x} siendo x V un vrtice cualquiera del grafo G
Algoritmo BFS
v
4
v
5
v
6
P03: Q={x}, siendo x V un vrtice cualquiera del grafo G
P04: Marcar x como visitado
P05: Aadir el vrtice x a V
P06: Mientras que Q :
s
v
1
v
4
v
3
P07: x=primer elemento de Q
P08: Mientras exista un vrtice no visitado y, adyacente a x
P09: Aadir y al final de Q
P10: Marcar y como visitado
r
b
o
l
e
s
v
4
3
v
6
v
P11: Aadir a A la arista {x,y}; aadir a V el vrtice y
P12: Eliminar x de la cola Q
P13: Retorna el rbol T = (V,A)
v
2
v
5
Paso x y Cola (Q) Vrtices visitados (V) Aristas (A)
Tema 3: 58
07;12 v
6
{v
2
,v
5
} {v
1
,v
3
,v
4
,v
6
,v
2
,v
5
} {v
1
-v
3
,v
1
-v
4
,v
3
-v
6
,v
4
-v
2
,v
4
-v
5
}
P.Reyes
rboles recubridores
v
1
v
2
Matemtica
Discreta
v
3
v
v
P01: Leer un grafo conexo G=(V,A)
P02: V=; A= (vrtices y aristas del rbol recubridor)
P03: Q={x} siendo x V un vrtice cualquiera del grafo G
Algoritmo BFS
v
4
v
5
v
6
P03: Q={x}, siendo x V un vrtice cualquiera del grafo G
P04: Marcar x como visitado
P05: Aadir el vrtice x a V
P06: Mientras que Q :
s
v
1
v
4
v
3
P07: x=primer elemento de Q
P08: Mientras exista un vrtice no visitado y, adyacente a x
P09: Aadir y al final de Q
P10: Marcar y como visitado
r
b
o
l
e
s
v
4
3
v
6
v
P11: Aadir a A la arista {x,y}; aadir a V el vrtice y
P12: Eliminar x de la cola Q
P13: Retorna el rbol T = (V,A)
v
2
v
5
Paso x y Cola (Q) Vrtices visitados (V) Aristas (A)
Tema 3: 59
07;12 v
2
{v
5
} {v
1
,v
3
,v
4
,v
6
,v
2
,v
5
} {v
1
-v
3
,v
1
-v
4
,v
3
-v
6
,v
4
-v
2
,v
4
-v
5
}
P.Reyes
rboles recubridores
v
1
v
2
Matemtica
Discreta
v
3
v
v
P01: Leer un grafo conexo G=(V,A)
P02: V=; A= (vrtices y aristas del rbol recubridor)
P03: Q={x} siendo x V un vrtice cualquiera del grafo G
Algoritmo BFS
v
4
v
5
v
6
P03: Q={x}, siendo x V un vrtice cualquiera del grafo G
P04: Marcar x como visitado
P05: Aadir el vrtice x a V
P06: Mientras que Q :
s
v
1
v
4
v
3
P07: x=primer elemento de Q
P08: Mientras exista un vrtice no visitado y, adyacente a x
P09: Aadir y al final de Q
P10: Marcar y como visitado
r
b
o
l
e
s
v
4
3
v
6
v
P11: Aadir a A la arista {x,y}; aadir a V el vrtice y
P12: Eliminar x de la cola Q
P13: Retorna el rbol T = (V,A)
v
2
v
5
Paso x y Cola (Q) Vrtices visitados (V) Aristas (A)
Tema 3: 60
07;12 v
5
{ } {v
1
,v
3
,v
4
,v
6
,v
2
,v
5
} {v
1
-v
3
,v
1
-v
4
,v
3
-v
6
,v
4
-v
2
,v
4
-v
5
}
P.Reyes
rboles recubridores
Matemtica
Discreta
Qu pasa si se aplican DFS o BFS a un grafo no conexo?
v
1
v
2
v
4
v
3
s
v
6
v
5
v
8
v
7 v
9
v
10
r
b
o
l
e
s
v
11
v
12
v
13
B b id d f
r
b
o
l
e
s
P06: Mientras que Q :
P07: x=ltimo elemento de Q
P08: Si x es adyacente a algn vrtice y no visitado
r
b
o
l
e
s
P07: Mientras que Q :
P08: x=ltimo elemento de Q
P09: Si x es adyacente a algn vrtice y no visitado
r
b
o
l
e
s
P07: Mientras que Q :
P08: x=primer elemento de Q
P09: Mientras que exista un vrtice no visitado y, adyacente a x