EXERCÍCIOS
EXERCÍCIOS RESOLVIDOS
RESOLVIDOS DE
DE TEORIA
TEORIA DOS
DOS GRAFOS
GRAFOS -
- LISTA
LISTA II
II
1.) Escreva a matriz de
1.) Escreva a matriz de
adjacências dos grafos abaixo:
adjacências dos grafos abaixo:
a)
SOLUÇÃO
a)
SOLUÇÃO
1 1 5 5 2 2 4 4 3 3⎟⎟
⎟⎟
⎟⎟
⎟⎟
⎟⎟
⎟⎟
⎠
⎠
⎞
⎞
⎜⎜
⎜⎜
⎜⎜
⎜⎜
⎜⎜
⎜⎜
⎝
⎝
⎛
⎛
=
=
0 0 0 0 0 0 1 1 2 2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 0 0 1 1 0 0 1 1 1 1 1 1 1 1 1 1 2 2 0 0 0 0 1 1 1 1 M Mb)
b)
SOLUÇÃO
SOLUÇÃO
1 1 2 2 33 4 4 5 5 7 7 6 6⎟⎟
⎟⎟
⎟⎟
⎟⎟
⎟⎟
⎟⎟
⎟⎟
⎟⎟
⎟⎟
⎠
⎠
⎞
⎞
⎜⎜
⎜⎜
⎜⎜
⎜⎜
⎜⎜
⎜⎜
⎜⎜
⎜⎜
⎜⎜
⎝
⎝
⎛
⎛
=
=
0 0 1 1 1 1 0 0 1 1 1 1 0 0 1 1 0 0 0 0 1 1 1 1 1 1 0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 0 0 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 1 1 0 0 M Mc)
c)
SOLUÇÃO
SOLUÇÃO
⎟⎟⎟⎟
⎟⎟
⎟⎟
⎟⎟
⎠
⎠
⎞
⎞
⎜⎜⎜⎜
⎜⎜
⎜⎜
⎜⎜
⎝
⎝
⎛
⎛
=
=
0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 1 1 1 1 0 0 M M 1 1 33 2 2 4 42.) Desenhe os
2.) Desenhe os
grafos correspondentes as matrizes de adjacência abaixo:
grafos correspondentes as matrizes de adjacência abaixo:
a)
a)
⎟⎟
⎟⎟
⎟⎟
⎟⎟
⎟⎟
⎟⎟
⎟⎟
⎟⎟
⎠
⎠
⎞
⎞
⎜⎜
⎜⎜
⎜⎜
⎜⎜
⎜⎜
⎜⎜
⎜⎜
⎜⎜
⎝
⎝
⎛
⎛
=
=
0 0 2 2 0 0 0 0 0 0 0 0 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 M MSOLUÇÃO
SOLUÇÃO
Como a matriz M é simétrica, o grafo correspon Como a matriz M é simétrica, o grafo correspon dente não é necessariamente direcionado. dente não é necessariamente direcionado. Apre-sentamos abaixo uma das soluções possíveis sentamos abaixo uma das soluções possíveis
1 1 22 3 3 4 4 5 5 66
b)
b)
⎟⎟
⎟⎟
⎟⎟
⎟⎟
⎟⎟
⎟⎟
⎠
⎠
⎞
⎞
⎜⎜
⎜⎜
⎜⎜
⎜⎜
⎜⎜
⎜⎜
⎝
⎝
⎛
⎛
=
=
0 0 0 0 0 0 0 0 1 1 2 2 0 0 1 1 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 M MSOLUÇÃO
SOLUÇÃO
Como a matriz M não é simétrica, o grafo cor Como a matriz M não é simétrica, o grafo cor respondente é necessariamente direcionado. respondente é necessariamente direcionado. Apresentamos abaixo uma das soluções Apresentamos abaixo uma das soluções pos-síveis. síveis. 1 1 22 3 3 4 4 5 5
3.) Desenhe o grafo não-direcionado cuja matriz de
3.) Desenhe o grafo não-direcionado cuja matriz de
adjacência na sua forma triangular infe-
adjacência na sua forma triangular
infe-rior é dada por:
rior é dada por:
⎟⎟⎟⎟
⎟⎟
⎟⎟
⎟⎟
⎠
⎠
⎞
⎞
⎜⎜⎜⎜
⎜⎜
⎜⎜
⎜⎜
⎝
⎝
⎛
⎛
=
=
0 0 2 2 1 1 0 0 1 1 1 1 0 0 0 0 1 1 2 2 M MSOLUÇÃO
SOLUÇÃO
A mA matriz atriz M M na suna sua forma forma completa a completa é dadaé dada por: por:
⎟⎟⎟⎟
⎟⎟
⎟⎟
⎟⎟
⎠
⎠
⎞
⎞
⎜⎜⎜⎜
⎜⎜
⎜⎜
⎜⎜
⎝
⎝
⎛
⎛
=
=
0 0 2 2 1 1 0 0 2 2 1 1 1 1 0 0 1 1 1 1 0 0 1 1 0 0 0 0 1 1 2 2 M M 1 1 2 2 33 444.) Descreva o grafo cuja matriz
4.) Descreva o grafo cuja matriz
de adjacência é uma matriz identidade de
de adjacência é uma matriz identidade de
ordem n?
ordem n?
SOLUÇÃO
SOLUÇÃO
L
Leemmbbrraannddo o qquuee: I : I o o grraaffo g o eem m qquueessttãão o é é ffoorrm maa--do por
do por
nn
nós desconexos, com um laço em cada nós desconexos, com um laço em cada nó.nó.⎩⎩
⎨⎨
⎧⎧
≠
≠
=
=
=
=
=
=
j j ii se se 0 0 j j ii se se 1 1 aa :: que que tal tal )) (a (aii j j n xn xnn ii j j n n5.) Descreva a matriz de adjacência de
5.) Descreva a matriz de adjacência de
K
K
nn(grafo
(grafo
simples
simples
completo
completo
com
com
n
n
nós).
nós).
SOLUÇÃO
SOLUÇÃO
Tomemos
Tomemos por por exemplo exemplo K K 44..
1 1 2 2 3 3 4 4
⎟⎟⎟⎟
⎟⎟
⎟⎟
⎟⎟
⎠
⎠
⎞
⎞
⎜⎜⎜⎜
⎜⎜
⎜⎜
⎜⎜
⎝
⎝
⎛
⎛
=
=
0 0 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 0 0 M MGeneralizando, podemos dizer que, a matriz de K
Generalizando, podemos dizer que, a matriz de K nn, é uma matriz quadrada M de ordem, é uma matriz quadrada M de ordem
nn
tal que:tal que:⎩⎩
⎨⎨
⎧⎧
≠
≠
=
=
=
=
=
=
j j ii se se 1 1 j j ii se se 0 0 aa :: que que tal tal )) (a (a M M ii j j n xn x nn ii j j6.) Dada uma matriz de
6.) Dada uma matriz de
adjacência A de um grafo
adjacência A de um grafo
direcionado G, descreva o grafo representa
direcionado G, descreva o grafo representa
do
do
pela
pela
matriz
matriz
A
A
tt(matriz transposta de A)
(matriz transposta de A)
SOLUÇÃO
SOLUÇÃO
Para ilustrar a resolução, vamos utilizar o seguinte grafo: Para ilustrar a resolução, vamos utilizar o seguinte grafo:
cuja matriz de adjacência é: cuja matriz de adjacência é:
1 1 2 2 33
⎟⎟
⎟⎟
⎟⎟
⎠
⎠
⎞
⎞
⎜⎜
⎜⎜
⎜⎜
⎝
⎝
⎛
⎛
=
=
0 0 1 1 0 0 0 0 0 0 1 1 1 1 0 0 0 0 M MObservando agora que: Observando agora que:
⎟⎟
⎟⎟
⎟⎟
⎠
⎠
⎞
⎞
⎜⎜
⎜⎜
⎜⎜
⎝
⎝
⎛
⎛
=
=
0 0 0 0 1 1 1 1 0 0 0 0 0 0 1 1 0 0 M Mtt corresponde ao grafo: corresponde ao grafo: 1 1 2 2 33podemos concluir que o grafo correspondente a matriz de adjacência M
podemos concluir que o grafo correspondente a matriz de adjacência M tt (( matriz de adjacênciamatriz de adjacência transposta de um grafo G) pode ser obtido, invertendo as direções dos arcos de G.
4.) Construa a lista
4.) Construa a lista
de adjacências dos grafos abaixo:
de adjacências dos grafos abaixo:
a)
a)
SOLUÇÃO
SOLUÇÃO
1 1 2 2 33 4 4 5 5 7 7 6 6))
SOLUÇÃO
SOLUÇÃO
2 2 1 1 2 2 3 3 4 4 5 5 6 6 7 7 3 3 1 1 44 66 77 1 1 55 66 77 2 2 66 3 3 77 2 2 33 44 77 2 2 33 55 66bb
bserve que foram necessários, apenas, 16 locais de armazenagem para a lista de adjacências. Já a bserve que foram necessários, apenas, 16 locais de armazenagem para a lista de adjacências. Já a O
O
matriz de adjacência iria exigir 36 locais de armazenagem. matriz de adjacência iria exigir 36 locais de armazenagem.
1 1 3 3 6 6 4 4 5 5 2 2 1 1 22 2 2 3 3 4 4 5 5 6 6 3 3 4 4 5 5 66
c)
c)
SOLUÇÃO
SOLUÇÃO
5.) Utilize o algorítmo de Welch-Powell para colorir os grafos abaixo e determine o seu
5.) Utilize o algorítmo de Welch-Powell para colorir os grafos abaixo e determine o seu
núme-))
ÃO
ÃO
ro cromático.
ro cromático.
aa
SOLUÇ
SOLUÇ
Algoritmo de Welch-Powell Algoritmo de Welch-Powell s ems em ordem decrescente de ordem decrescente de grau): grau): 1 – 2 1 – 2 – 3 – 3 – 4 – – 4 – 55 ó 2
ó 2
OBSERVAÇÕES IMPORTANTES
OBSERVAÇÕES IMPORTANTES
1º PASSO (ordenar os vértice 1º PASSO (ordenar os vértice
2º PASSO (atribuir a cor C1, no caso preta): nó 1 2º PASSO (atribuir a cor C1, no caso preta): nó 1 3º PASSO (atribuir a cor C2, no caso vermelha): n 3º PASSO (atribuir a cor C2, no caso vermelha): n 4º PASSO (atribuir a cor C3, no caso branca): nó 3 4º PASSO (atribuir a cor C3, no caso branca): nó 3 3º PASSO (atribuir a cor C4, no caso amarela): nó 4 3º PASSO (atribuir a cor C4, no caso amarela): nó 4 3º PASSO (atribuir a cor C5, no caso azul): nó 5 3º PASSO (atribuir a cor C5, no caso azul): nó 5
a de Appel-Haken garante que todo a de Appel-Haken garante que todo grafo planar simples e conexo é 4-colorizável. grafo planar simples e conexo é 4-colorizável. Já o grafo em questão (K
Já o grafo em questão (K 55) que como sabemos) que como sabemos
não é planar é 5-colorizável, e não é planar é 5-colorizável, e O teorem O teorem χ χ (K (K 55) = 5) = 5 De forma geral: De forma geral: χ χ (K (K nn) = n) = n 1 1 2 2 33 4 4 3 3 11 2 2 22 1 1 2 2 1 1 2 2 3 3 4 4 4 4 4 4 3 3 3 3 11 2 2 2 2 1 1 11 1 1 2 2 5 5 3 3 44 1 1 2 2 3 3 44 5 5
b)
b)
SOLUÇÃO
SOLUÇÃO
ALGORÍTMO
ALGORÍTMO
:: 1º PASSO: 5 – 1 – 2 – 3 – 4 1º PASSO: 5 – 1 – 2 – 3 – 4 2º PASSO (cor C1, azul): nó 5 2º PASSO (cor C1, azul): nó 53º PASSO (cor C2, amarela): nós 1 e 3 3º PASSO (cor C2, amarela): nós 1 e 3 4º PASSO (cor C3, vermelha): nós 2 e 4 4º PASSO (cor C3, vermelha): nós 2 e 4 Assim
Assim o go grafo é rafo é 3-colorizável 3-colorizável ee χ χ (G) = 3(G) = 3
c)
c)
SOLUÇÃO
SOLUÇÃO
ALGORÍTMO
ALGORÍTMO
:: 1º PASSO: 6–7–2–3–5–8–10–11–1– 4–9–12 1º PASSO: 6–7–2–3–5–8–10–11–1– 4–9–12 2º PASSO (cor vermelha): nós 6, 3, 8, 11, 1 e 9 2º PASSO (cor vermelha): nós 6, 3, 8, 11, 1 e 9 3º PASSO (cor azul): nós 7, 2, 5, 10, 4 e 12 3º PASSO (cor azul): nós 7, 2, 5, 10, 4 e 12 AssimAssim o grafo o grafo é 2-colorizável é 2-colorizável ee χ χ
1 1 2 2 33 4 4 5 5 1 1 2 2 33 4 4 5 5 1 1 22 33 44 5 5 66 77 88 9 9 1100 1111 1212 (G) = 2 (G) = 2 1 1 2 2 33 44 5 5 66 77 88 9 9 10 10 1111 1212
d)
d)
SOLUÇÃO
SOLUÇÃO
D – G – C D – G – CALGORÍTMO
ALGORÍTMO
:: 1º PASSO: A – B – E – F – H – 1º PASSO: A – B – E – F – H –2º PASSO (cor vermelha): nós A, D, C 2º PASSO (cor vermelha): nós A, D, C 3º PASSO (cor azul): nós B, E, G 3º PASSO (cor azul): nós B, E, G 4º PASSO (cor azul): nós F, H 4º PASSO (cor azul): nós F, H
ssim
ssim o o grafo grafo é é 3-colorizável 3-colorizável ee A A χ χ (G) = 3(G) = 3
ÃO
ÃO
))
ee
SOLUÇ
SOLUÇ
:: F – A – C – E – G – D – H F – A – C – E – G – D – HALGORÍTMO
ALGORÍTMO
1º PASSO: B – 1º PASSO: B –2º PASSO (cor vermelha): nós B, G 2º PASSO (cor vermelha): nós B, G 3º PASSO (cor amarela): nós F, C 3º PASSO (cor amarela): nós F, C 4º PASSO (cor azul): nós A, D, H 4º PASSO (cor azul): nós A, D, H 5º PASSO (cor branca): nó E 5º PASSO (cor branca): nó E Assim
Assim o o grafo grafo é é 4-colorizável 4-colorizável ee χ χ (G) = 4(G) = 4 A A B B C C D D E E F F G G H H A A E E G G H H B B C C D D F F A A B B C C D D E E F F G G H H B B E E F F D D A A C C G G H H
Para os exercícios a seguir considere as seguintes definições:
Para os exercícios a seguir considere as seguintes definições:
►
►
U
U
m
m
g
g
r
r
a
a
f
f
o
o
G
G
s
s
e
e
d
d
i
i
z
z
d
d
e
e
E
E
u
u
l
l
e
e
r
r
)
)
q
q
u
u
a
a
n
n
d
d
o
o
a
a
p
p
e
e
n
n
a
a
s
s
d
d
o
o
i
i
s
s
d
d
e
e
s
s
e
e
u
u
s
s
n
n
ó
ó
s
s
meçar em um nó ímpar e terminar no
meçar em um nó ímpar e terminar no
outro.
outro.
► ►U
U
m
m
g
g
r
r
a
a
f
f
o
o
G
G
s
s
e
e
d
d
i
i
z
z
d
d
e
e
E
E
u
u
l
l
e
e
r
r
) s
) s
e
e
t
t
o
o
d
d
o
o
s
s
o
o
s
s
s
s
e
e
u
u
s
s
n
n
ó
ó
s
s
t
t
e
e
m
m
g
g
r
r
a
a
u
u
p
p
a
a
r
r
.
.
O circuito de
O circuito de
ou eulerianos. No caso do grafo ser
ou eulerianos. No caso do grafo ser
através-
através-aminho de Euler; No
aminho de Euler; No
caso do grafo ser euleriano identifique um
caso do grafo ser euleriano identifique um
circui-
circui-SOLUÇÃO
SOLUÇÃO
atravessável (tem um caminho
atravessável (tem um caminho
tem grau ímpar. Os
tem grau ímpar. Os
caminhos atravessáve
caminhos atravessáve
is precisam co
is precisam co
euleriano
euleriano
(tem u
(tem u
m c
m c
ircuito
ircuito
Euler pode começar (e terminar) em qualquer nó.
Euler pode começar (e terminar) em qualquer nó.
6.) Verifique se os
6.) Verifique se os
grafos abaixo são atravessavéis
grafos abaixo são atravessavéis
sável identifique um c
sável identifique um c
o de Euler.
o de Euler.
t
t
a)
a)
1 1 22 4 4 5 5 6 6 7 7 8 8O grafo em questão é atravessável, pois possui apenas dois nós ímpares: 2 e 3. Assim ele pos O grafo em questão é atravessável, pois possui apenas dois nós ímpares: 2 e 3. Assim ele pos um caminho de Euler, que pode ser:
um caminho de Euler, que pode ser: 1º cam 1º cam 2º caminho: 2º caminho: 3 – 3 – 5 – 4 5 – 4 – 3– 3
Caminho de Euler:
Caminho de Euler:
b)
b)
O grafo emO grafo em questão é euleriano, questão é euleriano, pois não pois não exisexis to de Euler, que pode ser:
to de Euler, que pode ser: 1º circuito: 1º circuito: 1 – 9 – 1 – 9 – 8 – 7 8 – 7 – 6 – 5 – 6 – 5 – 4 – 7 – 4 – 7 – – 2 – 2 – 2º circuito: 2º circuito: 9 – 2 – 9 – 2 – 4 – 3 4 – 3 – 7 – 9– 7 – 9
Circuito de Euler:
Circuito de Euler:
1 – 9 – 2 – 4 – 3 – 7 – 9 – 1 – 9 – 2 – 4 – 3 – 7 – 9 – sui sui inho: inho: 2 – 2 – 1 – 1 – 8 – 8 – 7 – 7 – 6 6 – – 5 – 5 – 8 – 8 – 2 – 2 – 33 2 – 1 2 – 1 – 8 – 7 – 8 – 7 – 6 – 6 – – 5 – 8 5 – 8 – 2 – 3 – 2 – 3 – 5 – 4 – 5 – 4 – 3– 3 tem nóstem nós ímpares. ímpares. Assim ele poAssim ele possui um ssui um circui- circui-1 1 8 – 7 – 6 – 5 8 – 7 – 6 – 5 – 4 – 7 – – 4 – 7 – 2 – 12 – 1 3 3 1 1 3 3 44 6 6 8 8 9 9 2 2 77 5 5
c)
c)
SOLUÇÃO
SOLUÇÃO
O grafo em
O grafo em questão é euleriano, questão é euleriano, pois não pois não existem nós existem nós ímpares. ímpares. Assim ele pAssim ele possui um ossui um circui- circui-to de Euler, que pode ser:
to de Euler, que pode ser: 1º circuito: 1º circuito: A – B A – B – C – D – C – D – E – A– E – A 2º circuito: 2º circuito: C – C – A – A – D – D – B – B – E – E – CC
Circuito de Euler:
Circuito de Euler:
A – B – C – A – D – B – E – C – D – E – AA – B – C – A – D – B – E – C – D – E – Ad)
d)
SOLUÇÃO
SOLUÇÃO
Como existem mais do que dois nós ímpares (no caso seis, e lembre-se que o número de nós Como existem mais do que dois nós ímpares (no caso seis, e lembre-se que o número de nós p
paarree nnãão o é é aattrraavveessssáávveel l ( ( nãão n o eexxiisstte e uum m ccaammiinnhhoo te um circuito de Euler ).
te um circuito de Euler ).
.) Nos grafos a
.) Nos grafos a
seguir aplique o algoritmo de Dij
seguir aplique o algoritmo de Dij
kstra. Forneça a cada passagem pelos laços
kstra. Forneça a cada passagem pelos laços
ILE e FOR os valores do conjunto IN bem como d(z) e s(z). Ao f
ILE e FOR os valores do conjunto IN bem como d(z) e s(z). Ao f
inal da execução do algo-
inal da execução do
algo-ritmo,
ritmo,
escreva
escreva
os
os
nós
nós
do
do
caminho
caminho
mínimo
mínimo
istância
istância
total
total
percorrida.
percorrida.
a) Construa o caminho mínimo do nó
a) Construa o caminho mínimo do nó
ím
ím s es em um um gm grarafo fo é sé sememprpre pe parar) o ) o grgrafafo eo em qm queueststãoão de Euler ) nem euleriano ( não exis
de Euler ) nem euleriano ( não exis
7
7
WH
WH
bem como a d
bem como a d
2 para o nó 5, no seguinte grafo:
2 para o nó 5, no seguinte grafo:
A A B B E E C C D D A A BB C C D D F F E E 1 1 2 2 33 4 4 5 5 7 7 88 3 3 2 2 1 1 5 5 1 1 1 1 2 2 6 6 4 4 1 1 55 1 1 6 6 8 8
SOLUÇÃO
SOLUÇÃO
FASE DE
FASE DE INICIALIZAÇÃ
INICIALIZAÇÃO
O
IN = { 2 } IN = { 2 }
1
2
3
4
5
6
7
8
1
2
3
4
5
6
7
8
d(z)
d(z)
3 3∞
∞
22∞
∞
∞
∞
∞
∞
11∞
∞
s(z)
s(z)
22–
–
2 2 2 2 2 2 2 2 2 2 221ª PASSAGEM PELOS LAÇOS “WHILE” E “FOR”
1ª PASSAGEM PELOS LAÇOS “WHILE” E “FOR”
p = 7 ( menor d(z) ) p = 7 ( menor d(z) )
IN = { 2 , 7 } IN = { 2 , 7 } d
d (1) (1) = = min min (3 (3 , , 1 1 + + d(7,1) d(7,1) ) ) = = min min (3 (3 , , 1 1 ++
∞
∞
) ) = = 33 )) ) ) = = min min (2 (2 , , 1 1 ++ d
d (3) (3) = = min min (2 (2 , , 1 1 + + d(7,3d(7,3
∞
∞
) ) = = 22 dd (4) (4) = = min (min (
∞
∞
, , 1 1 + d(7,4+ d(7,4) ) ) ) = = min min ((∞
∞
, 1, 1 ++∞
∞
) ) ==∞
∞
dd (5) (5) = = min (min (
∞
∞
, , 1 1 + d(7,5+ d(7,5) ) ) ) = = min min ((∞
∞
, 1, 1 ++∞
∞
) ) ==∞
∞
dd (6) (6) = = min (min (
∞
∞
, , 1 1 + d(7,6+ d(7,6) ) ) ) = = min min ((∞
∞
, , 1 1 + + 5) 5) = = 66(
(
♣♣)
)
min (
min (
∞
∞
, , 1 1 + d(7,8+ d(7,8) ) ) ) = = min min (( d d (8) =(8) =∞
∞
, , 1 1 + + 1) 1) = = 22(
(
♣♣)
)
1
2
3
4
5
6
7
8
1
2
3
4
5
6
7
8
d(z)
d(z)
3 3∞
∞
22∞
∞
∞
∞
6 6 1 1 22s(z)
s(z)
22–
–
2 2 2 2 2 2 7 7 2 2 772ª PASSAGEM PELOS LAÇOS “WHILE” E “FOR”
2ª PASSAGEM PELOS LAÇOS “WHILE” E “FOR”
p = 3
p = 3 (escolha arbitrária entre os nós 3 (escolha arbitrária entre os nós 3 e 8 com menoe 8 com menor d(z) )r d(z) ) IN = { 2 , 7 , 3 }
IN = { 2 , 7 , 3 } (1)
(1) = = min min (3 (3 , , 2 2 + + d(3,1) d(3,1) ) ) = = min min (3 (3 , , 2 2 + + 5) 5) = = 33 d
d d
d (4) (4) = = min (min (
∞
∞
, , 2 2 + d(3,4+ d(3,4) ) ) ) = = min min ((∞
∞
, , 2 2 + + 1) 1) = = 33(
(
♣♣)
)
(5
(5) ) = = mimin n (( , , 2 2 + + d(d(3,3,5) 5) ) ) = = mimin n (( d
d
∞
∞
∞
∞
, 2 +, 2 +∞
∞
) ) ==∞
∞
dd (6) (6) = = min min (6, (6, 2 2 + + d(3,6) d(3,6) ) ) = = min min (6 (6 , , 2 2 ++
∞
∞
) ) = = 66 dd (8) (8) = = min min (2, (2, 2 2 + + d(3,8) d(3,8) ) ) = = min min (2 (2 , , 2 2 + + 2) 2) = = 22
1
2
3
4
5
6
7
8
1
2
3
4
5
6
7
8
dd
3 3∞
∞
2 2 33∞
∞
6 6 1 1 22ss
22–
–
2 2 3 3 2 2 7 7 2 2 773ª PASSAGEM PELOS LAÇOS “WHILE” E “FOR”
3ª PASSAGEM PELOS LAÇOS “WHILE” E “FOR”
p = 8 ( menor d(z) ) p = 8 ( menor d(z) ) IN = { 2 , 7 , 3 , 8 } IN = { 2 , 7 , 3 , 8 } d
d (1) (1) = = min min (3 (3 , , 2 2 + + d(8,1) d(8,1) ) ) = = min min (3 (3 , , 2 2 ++
∞
∞
) ) = = 33 dd (4) (4) = = min min (3, (3, 2 2 + + d(8,4) d(8,4) ) ) = = min min (3 (3 , , 2 2 ++
∞
∞
) ) = = 33 dd (5(5) ) = = mimin n ((
∞
∞
, , 2 2 + + d(d(8,8,5) 5) ) ) = = mimin n ((∞
∞
, , 2 2 + + 1) 1) = = 33(
(
♣♣)
)
d
d (6) (6) = = min min (6, (6, 2 2 + + d(8,6) d(8,6) ) ) = = min min (6 (6 , , 2 2 ++
∞
∞
) ) = = 661
2
3
4
5
6
7
8
1
2
3
4
5
6
7
8
4ª PASSAGEM PELOS LAÇOS “WHILE” E “FOR”
4ª PASSAGEM PELOS LAÇOS “WHILE” E “FOR”
p = 5
p = 5 ( escolha arbitrária entre ( escolha arbitrária entre os nós os nós 1 , 1 , 4 4 e e 5 com m5 com menor d(z); enor d(z); entretanto, como entretanto, como a entrada do a entrada do nó 5nó 5 em IN encerra a execução do algoritmo, ele deve ser o escolhido).
em IN encerra a execução do algoritmo, ele deve ser o escolhido). IN = { 2 , 7 , 3 , 8 , 5 }
IN = { 2 , 7 , 3 , 8 , 5 } d
d (1) (1) = = min min (3 (3 , , 3 3 + + d(5,1) d(5,1) ) ) = = min min (3 (3 , , 3 3 ++
∞
∞
) ) = = 33 dd (4) (4) = = min min (3, (3, 3 3 + + d(5,4) d(5,4) ) ) = = min min (3 (3 , , 3 3 + + 4) 4) = = 33 d
d (6) (6) = = min min (6, (6, 3 3 + + d(5,6) d(5,6) ) ) = = min min (6 (6 , , 3 3 + + 6) 6) = = 66
1
2
3
4
5
6
7
8
1
2
3
4
5
6
7
8
dd
3 3∞
∞
2 2 3 3 3 3 6 6 1 1 22ss
22–
–
2 2 3 3 8 8 7 7 2 2 77C
C
A
AM
MII H
N
N
HO
O M
M N
ÍÍ
NIIM
M
O
O
5 5 , , s(5) s(5) = = 8 8 , , s(8) s(8) = = 7 7 , , s(7) s(7) = = 22 2 – 7 – 8 – 5 2 – 7 – 8 – 5 correspondente é: correspondente é: d d = = 1 1 + + 1 1 + + 1 1 = = 33) Construa o caminho mínimo do nó A para o nó E
) Construa o caminho mínimo do nó A para o nó E no seguinte grafo:
no seguinte grafo:
SOLUÇÃO
SOLUÇÃO
Assim o caminho mínimo é: Assim o caminho mínimo é: e a distância
e a distância
bb
A
A
D
DE
E IIN
NIIC
CIIA
AL
LIIZ
ZA
AÇ
ÇÃ
ÃO
O
F
F SE
SE
IN = { A } IN = { A }F
F
A
B
C
D
E
A
B
C
D
E
d(z)
d(z)
∞
∞
1 1 33∞
∞
∞
∞
∞
∞
s(z)
–
s(z)
–
A A A A A A A A AA1ª
1ª PAS
PASSAG
SAGEM
EM PEL
PELOS
OS LAÇ
LAÇOS
OS “W
“W ILE
H
H
ILE”
” E
E “FO
“FOR”
R”
p = B ( menor d(z) ) p = B ( menor d(z) )
IN = { A , B } IN = { A , B } d
d (C) (C) = = min min (3 (3 , , 1 1 + + d(B,C) d(B,C) ) ) = = min min (3 (3 , , 1 1 +1) +1) = = 22
(
(
♣♣)
)
d
d (D(D) ) = = mimin n ( (
∞
∞
, , 1 1 + + d(d(B,B,D) D) ) ) = = mimin n ((∞
∞
, 1 +, 1 +∞
∞
) ) ==∞
∞
dd (E(E) ) = = mimin n ((
∞
∞
, 1 , 1 + + d(d(B,B,E) E) ) ) = = mimin (n (∞
∞
, 1 +, 1 +∞
∞
) =) =∞
∞
d d ((FF) ) = = mmiin n ((∞
∞
, , 1 1 + + dd((BB,,FF) ) ) ) = = m m ((iinn∞
∞
, , 1 1 + + 1) 1) = = 22(
(
♣♣)
)
A A BB E E C C DD F F 2 2 1 1 4 4 1 1 11 3 3 1 1 11 2 2A
B
C
D
E
F
A
B
C
D
E
F
d(z)
d(z)
∞
∞
1 1 2 2∞
∞
∞
∞
22s(z)
–
s(z)
–
A A B B A A A A BB2ª
2ª PASS
PASSAGEM
AGEM PELOS
PELOS LAÇOS “WHILE
LAÇOS “WHILE E
””
E “FO
“FO
R”
R”
p = C ( escolha arbitrária entre os nós C e F com menor d(z) ) p = C ( escolha arbitrária entre os nós C e F com menor d(z) )
IN = { A , B , C } IN = { A , B , C } d
d ((DD) = m) = miin (n (
∞
∞
, , 2 2 + + dd((CC,,DD) ) = m) ) = miin n ((∞
∞
,2 ,2 + + 2) 2) = = 44(
(
♣♣)
)
(E
(E) ) = = mmin (in ( , 2 , 2 + + dd(C(C,,EE) ) ) ) = mi= min n (( ,,2 2 + + 44) ) = 6= 6
(
(
♣♣)
)
d
d
∞
∞
∞
∞
d
d (F) (F) = = min min ( ( 2 2 , , 2 2 + + d(C,F) d(C,F) ) ) = = min min ( ( 2 2 , , 2 2 ++
∞
∞
) ) = = 22A
B
C
D
E
F
A
B
C
D
E
F
d(z)
d(z)
∞
∞
1 1 2 2 4 4 6 6 22s(z)
–
s(z)
–
A A B B C C C C BB3ª PASSAGEM PELOS LAÇOS “WHILE” E “FOR”
3ª PASSAGEM PELOS LAÇOS “WHILE” E “FOR”
p =
p = F F (menor d(z) (menor d(z) )) IN = { A , B , C , F } IN = { A , B , C , F } d
d (D) (D) = = min min (4 (4 , , 2 2 + + d(F,D) d(F,D) ) ) = = min min (4 (4 , , 2 2 + + 2) 2) = = 44 (E)
(E) = = min min (6 (6 , , 2 2 + + d(F,E) d(F,E) ) ) = = min min (6 (6 , , 2 2 + + 1) 1) = = 33
(
(
♣♣)
)
B
C
D
E
F
B
C
D
E
F
d dA
A
d(z)
d(z)
∞
∞
1 1 2 2 4 4 3 3 22s(z)
–
s(z)
–
A A B B C C F F BB4ª PASSAGEM PELOS LAÇOS “WHILE” E “FOR”
4ª PASSAGEM PELOS LAÇOS “WHILE” E “FOR”
p = p = E E (menor d(z) (menor d(z) )) d (D) = mi d (D) = mi
F
F
IN = { A , B , C , F , E } IN = { A , B , C , F , E } nn (4 , (4 , 3 3 + d(E,+ d(E,D) ) D) ) = = min min (4 , (4 , 3 3 + 1) + 1) = = 44
A
B
C
D
E
A
B
C
D
E
d(z)
d(z)
∞
∞
1 1 2 2 4 4 3 3 22s(z)
–
s(z)
–
A A B B CC F F BBCAMINHO MÍNIMO
CAMINHO MÍNIMO
E E , , s(E) s(E) = = F F , , s(F) s(F) = = B B , , s(B) s(B) = = AA ssssiim m o o ccaammiinn éé::d d = = 1 1 + + 1 1 + + 1 1 = = 33 A A hho o mmíínniimmoo A – B – F – E A – B – F – E e a distância correspondente é: e a distância correspondente é:
cc))
ttrruua
a o
o ccaa iinnhho
o m
m iim
mo
o ddo
o nn 1
1 ppaarra
a o
o n
n 7
7 nno
o sseegguu nntte
e ggrraaffoo
SOLUÇÃO
SOLUÇÃO
C
Coonnss
m
m
íínn
ó
ó
óó
ii
::
1 1 2 2 3 3 4 4 5 5 11 3 3 1 1 1 1FASE DE
FASE DE INICIALIZAÇÃ
INICIALIZAÇÃO
O
IN = {1} IN = {1}
1
2
3
4
5
6
7
1
2
3
4
5
6
7
d(z)
d(z)
∞
∞
22∞
∞
∞
∞
3 3 22∞
∞
s(z)
–
s(z)
–
1 1 1 1 1 1 1 1 1 1 111ª PASSAGEM PELOS LAÇOS “WHILE” E “FOR”
1ª PASSAGEM PELOS LAÇOS “WHILE” E “FOR”
p = 2 ( escolha arbritária entre os nós 2 e 6 com menor d(z) ) p = 2 ( escolha arbritária entre os nós 2 e 6 com menor d(z) )
((33) ) = = mmiin n (( iin n (( IN = { 1 , 2 } IN = { 1 , 2 } d d
∞
∞
, , 2 2 + + d(2,3) d(2,3) ) ) = = mm∞
∞
, , 2 2 +1) +1) = = 33(
(
♣♣)
)
d d ((44)) == mmiinn ((∞
∞
, , 2 2 + + d(2d(2,4) ,4) ) ) = = mm n iin ((∞
∞
, 2 , 2 + +∞
∞
) ) ==∞
∞
∞
∞
dd (5) (5) = = min min (3 (3 , , 2 2 + + d(2,5) d(2,5) ) ) = = min min (3 (3 , , 2 2 + + ) ) = = 33 in in (2 , (2 , 2 + 2 + d(2,6) d(2,6) ) ) = = min min (2 (2 , 2 , 2 ++ d (6) = m d (6) = m
∞
∞
) ) = = 22 (7 (7) ) = = mimin n (( , , 2 2 + + d(d(2,2,7) 7) ) ) = = mimin n (( d d∞
∞
∞
∞
, 2 +, 2 +∞
∞
) ) ==∞
∞
1
2
3
4
5
6
7
1
2
3
4
5
6
7
d(z)
d(z)
∞
∞
2 2 33∞
∞
3 3 22∞
∞
s(z)
–
s(z)
–
1 1 2 2 1 1 1 1 1 1 112ª PASSAGEM PELOS LAÇOS “WHILE” E “FOR”
2ª PASSAGEM PELOS LAÇOS “WHILE” E “FOR”
p p IN IN = 6 (menor d(z) ) = 6 (menor d(z) ) = = { 1 { 1 , 2 , 2 , 6, 6 d d ((33) = m) = miin ( n ( 2 2 + + dd((6 6 ) = m) = miinn } }
∞
∞
,, ,,33)) ((∞
∞
, , 2 2 ++∞
∞
) ) ==∞
∞
d d ((44)) == mmiinn ((∞
∞
, , 2 2 + + d(6d(6,4) ,4) ) ) = = mm n iin ((∞
∞
, 2 , 2 + +∞
∞
) ) ==∞
∞
dd (5) (5) = = min min (3 (3 , , 2 2 + + d(6,5) d(6,5) ) ) = = min min (3 (3 , , 2 2 + +
∞
∞
) ) = = 33 (CUIDADO! : observe que há conexão do(CUIDADO! : observe que há conexão doó 5 para o nó 6, mas não há conexão do nó 6 para o nó 5)
ó 5 para o nó 6, mas não há conexão do nó 6 para o nó 5)
n
n
d
d (7) (7) = = min (min (
∞
∞
, , 2 2 + d(6,7+ d(6,7) ) ) ) = = min min ((∞
∞
, , 2 2 + + 3) 3) = = 55(
(
♣♣)
)
1
2
3
4
5
6
7
1
2
3
4
5
6
7
d(z)
d(z)
∞
∞
2 2 33∞
∞
3 3 2 2 55s(z)
–
s(z)
–
1 1 2 2 1 1 1 1 1 1 66 6 6 22 7 7 2 2 11 2 2 1 1 1 1 3 33ª PASSAGEM PELOS LAÇOS “WHILE” E “FOR”
3ª PASSAGEM PELOS LAÇOS “WHILE” E “FOR”
p
p = 3 (= 3 (esescocolhlha ara arbibitrtráriária ena entre tre os os nónós 3 s 3 e 5 ce 5 com om oo nonor d(r d(z)z) = { 1 , 2 , 6 , 3 } = { 1 , 2 , 6 , 3 } (4 (4) ) = = mimin n ( ( , , 3 3 + + d(d(3,3,4) 4) ) ) = = mimin n (( me me )) IN IN d d
∞
∞
∞
∞
,3 ,3 + + 1) 1) = = 44(
(
♣♣)
)
,5) ,5) ) ) = = min min (3 (3 , , 3 3 ++ d d (5) (5) = = min min (3 (3 , , 3 3 + + d(3d(3∞
∞
) ) = = 33 ((77) ) == mmiin n (( , , 3 3 + + dd 33,,77) ) )) d d 55 ( ( = = mmiin n ((5 5 , , 3 3 ++∞
∞
) ) = = 551
2
3
4
5
6
7
1
2
3
4
5
6
7
d(z)
d(z)
∞
∞
2 2 3 3 4 4 3 3 2 2 55s(z)
–
s(z)
–
1 1 2 2 3 3 1 1 1 1 664ª PASSAGEM PELOS LAÇOS “WHILE” E “FOR”
4ª PASSAGEM PELOS LAÇOS “WHILE” E “FOR”
p = 5 (menor d(z) ) p = 5 (menor d(z) )
IN = { 1 , 2 , 6 , 3 , 5 } IN = { 1 , 2 , 6 , 3 , 5 } d
d (4) (4) = = min min (4 (4 , , 3 3 + + d(5,4) d(5,4) ) ) = = min min (4 (4 , , 3 3 ++
∞
∞
) ) = = 44 dd (7) (7) = = min min (5 (5 , , 3 3 + + d(5,7) d(5,7) ) ) = = min min (5 (5 , , 3 3 + + 2) 2) = = 55
1
2
3
4
5
6
7
1
2
3
4
5
6
7
d(z)
d(z)
∞
∞
2 2 3 3 4 4 3 3 2 2 55s(z)
–
s(z)
–
1 1 2 2 3 3 1 1 1 1 665ª PASSAGEM PELOS LAÇOS “WHILE” E “FOR”
5ª PASSAGEM PELOS LAÇOS “WHILE” E “FOR”
p p = = 4 4 ((mm ((zz) ) )) 1 1 , , 3 3 , , 5 5 , , 44 enor d enor d = = { , { , 2 2 , , 6 6 }}
3
4
5
6
7
3
4
5
6
7
IN IN (7)(7) = = min min (5 (5 , , 4 4 + + d(4,7) d(4,7) ) ) = = min min (5 (5 , , 4 4 + + 1) 1) = = 55 d d
1
1
22
d(z)
d(z)
∞
∞
2 2 3 3 4 4 3 3 2 2 55s(
s( ))
zz
–
–
1 1 2 2 3 3 1 1 1 1 66ª ª
SAGEM
SAGEM PELOS
PELOS LAÇOS
LAÇOS “WHILE”
“WHILE” E
E “FOR”
“FOR”
66 P
PA
ASS
p = 7 (menor d(z) ) p = 7 (menor d(z) ) IN = { 1 , 2 , 6 , 3 , 5 , 4 , 7 } IN = { 1 , 2 , 6 , 3 , 5 , 4 , 7 }1
2
3
4
5
6
7
1
2
3
4
5
6
7
d(z)
d(z)
∞
∞
2 2 3 3 4 4 3 3 2 2 55s(z)
s(z)
–
–
1 1 2 2 33 1 1 1 1 66CAMINHO MÍNIMO
CAMINHO MÍNIMO
7 7 , , s(7) s(7) = = 6 6 , , s(6) s(6) = = 11 Assim o caminho mínimoAssim o caminho mínimo
1 – 6 – 7 1 – 6 – 7 aa nncciia a ccoo ssppoonnddeenn éé::
é: é:
e