Вы находитесь на странице: 1из 64

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
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)

Al eliminar una arista cualquiera del grafo T=(V,A), se


obtiene un grafo con dos componentes conexas, siendo

(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)

vrtices (T.1 y T.5)


e) T no contiene ciclos y n
a
=n
v
-1, siendo n
a
el nmero de aristas y n
v
el
nmero de vrtices (T.2 y T.5)
T.1
T.2
T.3
T.1
T.4
T.1
T.5
T.2
T.5
Tema 3: 13
P.Reyes
Introduccin
Matemtica
Discreta
Un rbol es:
un grafo conexo sin ciclos un grafo conexo sin ciclos.
un grafo con un nico camino
simple entre cada dos vrtices
s
simple entre cada dos vrtices.
un grafo conexo que al eliminar
cualquier arista se produce un

r
b
o
l
e
s
cualquier arista se produce un
bosque de dos rboles.
un grafo conexo con n vrtices y

un grafo conexo con n


v
vrtices y
n
v
-1 aristas.
un grafo sin ciclos con n vrtices y un grafo sin ciclos con n
v
vrtices y
n
v
-1 aristas.
Tema 3: 14
P.Reyes
Introduccin
Matemtica
Discreta
1) Si a un rbol se aade una arista se genera un ciclo.
Algunas propiedades:
s

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:

Consecuencia: Un rbol binario


tiene un nmero impar de vrtices,
t t 2 i 1 (i i t concretamente 2 i + 1 (i internos e
i + 1 hojas).
Tema 3: 25
P.Reyes
rboles de decisin
Matemtica
Discreta
vrtice interno una decisin
aristas que van al siguiente nivel resultados de cada decisin
hojas resultados finales del proceso
s
Problema rbol de decisin

r
b
o
l
e
s
coste del algoritmo altura del rbol

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
(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?
Tema 3: 26
ligera o ms pesada que el resto?
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?
s
Decisin (vrtice interno)
Hojas (resultados del problema)

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

P09: Aadir y al final de Q


P10: Marcar y como visitado
P11: Aadir a A la arista {x,y}; aadir a V el vrtice y
P12: En caso contrario
P13: Quitar x de Q
P14: Retorna el rbol T = (V,A)
Tema 3: 31
P.Reyes
rboles recubridores
v
1
v
2
Matemtica
Discreta
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
3
v
v
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 :

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

P09: Aadir y al final de Q


P10: Marcar y como visitado
P11: Aadir a A la arista {x,y}; aadir a V el vrtice y
P12: Eliminar x de Q
P13: Retorna el rbol T = (V,A)
Tema 3: 47
P.Reyes
rboles recubridores
v
1
v
2
Matemtica
Discreta
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
3
v
v
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 :
v
4
v
5
v
6
s
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
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)

Paso x y Cola (Q) Vrtices visitados (V) Aristas (A)


Tema 3: 48
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 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
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
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)

Paso x y Cola (Q) Vrtices visitados (V) Aristas (A)


Tema 3: 49
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 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
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
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)

Paso x y Cola (Q) Vrtices visitados (V) Aristas (A)


Tema 3: 50
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 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
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)

Paso x y Cola (Q) Vrtices visitados (V) Aristas (A)


Tema 3: 51
08-11 v
1
v
4
{v
1
,v
3
,v
4
} {v
1
,v
3
,v
4
} {v
1
-v
3
,v
1
-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 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
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)

Paso x y Cola (Q) Vrtices visitados (V) Aristas (A)


Tema 3: 52
07;12 v
1
{v
3
,v
4
} {v
1
,v
3
,v
4
} {v
1
-v
3
,v
1
-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 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
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)

Paso x y Cola (Q) Vrtices visitados (V) Aristas (A)


Tema 3: 53
07;08-11 v
3
v
6
{v
3
,v
4
,v
6
} {v
1
,v
3
,v
4
,v
6
} {v
1
-v
3
,v
1
-v
4
,v
3
-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 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
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)

Paso x y Cola (Q) Vrtices visitados (V) Aristas (A)


Tema 3: 54
07;12 v
3
{v
4
,v
6
} {v
1
,v
3
,v
4
,v
6
} {v
1
-v
3
,v
1
-v
4
,v
3
-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 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
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

Bosque recubridor de un grafo no conexo


Tema 3: 61
P.Reyes
rboles recubridores
Matemtica
Discreta
P01: Leer un grafo conexo G=(V A)
Algoritmo de bsqueda en profundidad (DFS)
P01: Leer un grafo conexo G=(V,A)
P02: V=; A= (vrtices y aristas del rbol recubridor)
P03 Q { } i d V ti l i d l f 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

P09: Aadir y al final de Q


P10: Marcar y como visitado
P11: Aadir a A la arista {x,y}; aadir a V el vrtice y { ,y}; y
P12: En caso contrario
P13: Quitar x de la pila Q
P14: Retorna el rbol T = (V A)
Tema 3: 62
P14: Retorna el rbol T (V ,A )
P.Reyes
rboles recubridores
Matemtica
Discreta
P01: Leer un grafo cualquiera G=(V A)
Algoritmo de bsqueda en profundidad (DFS-2)
P01: Leer un grafo cualquiera G=(V,A)
P03: V= ; A= (vrtices y aristas del rbol recubridor)
P04 Q { } i d V ti i it d d l f G
P02: Mientras queden vrtices no visitados en G
s
P04: Q={x}, siendo x V un vrtice no visitado del grafo G
P05: Marcar x como visitado
P06: Aadir el vrtice x a V

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

P10: Aadir y al final de Q


P11: Marcar y como visitado
P12: Aadir a A la arista {x,y}; aadir a V el vrtice y { ,y}; y
P13: En caso contrario
P14: Quitar x de la pila Q
P15: Retorna el rbol T = (V A)
Tema 3: 63
P15: Retorna el rbol T (V ,A )
P.Reyes
rboles recubridores
Matemtica
Discreta
P01: Leer un grafo cualquiera G=(V A)
Algoritmo de bsqueda en anchura (BFS-2)
P01: Leer un grafo cualquiera G=(V,A)
P03: V= ; A= (vrtices y aristas del rbol recubridor)
P04 Q { } i d V ti i it d d l f G
P02: Mientras queden vrtices no visitados en G
s
P04: Q={x}, siendo x V un vrtice no visitado del grafo G
P05: Marcar x como visitado
P06: Aadir el vrtice x a V

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

P10: Aadir y al final de Q


P11: Marcar y como visitado
P12: Aadir a A la arista {x,y}; aadir a V el vrtice y P12: Aadir a A la arista {x,y}; aadir a V el vrtice y
P13: Quitar x de la cola Q
P14: Retorna el rbol T = (V,A)
Tema 3: 64

Вам также может понравиться