Escolar Documentos
Profissional Documentos
Cultura Documentos
SCC-216 Modelagem
Computacional em Grafos
LAB 03 - Algoritmos de ordenao topolgica
Prof. Dr. Alneu de Andrade Lopes - 1o sem. 2015
Alan Valejo
alan@icmc.usp.br
Introduo
rvore Geradora
rvore Geradora
Algoritmo Prim
Algoritmo Kruskal
A 0
Enquanto A no uma MST faa
Encontre uma aresta (v,u) segura
A A U {(v,u)}
Retorne A
Algoritmo de Prim
Inicialmente A vazio
d
9
4
2
a
11
8
h
14
10
g
Algoritmo de Prim
Inicialmente A vazio
d
9
4
2
a
11
8
h
14
10
g
Algoritmo de Prim
Inicialmente A vazio
d
9
4
2
a
11
8
h
14
10
g
Algoritmo de Prim
d
9
4
2
a
11
8
h
14
10
g
Algoritmo de Prim
d
9
4
2
a
11
8
h
14
10
g
Algoritmo de Prim
d
9
4
2
a
11
8
h
14
10
g
Algoritmo de Prim
d
9
4
2
a
11
8
h
14
10
g
Algoritmo de Prim
d
9
4
2
a
11
8
h
14
10
g
Algoritmo de Prim
d
9
4
2
a
11
8
h
14
10
g
Algoritmo de Prim
d
9
4
2
a
11
8
h
14
10
g
Algoritmo de Prim
d
9
4
2
a
11
8
h
14
10
g
Algoritmo de Prim
d
9
4
2
a
11
8
h
14
10
g
Algoritmo de Prim
d
9
4
2
a
11
8
h
14
10
g
Algoritmo de Prim
d
9
4
2
a
11
8
h
14
10
g
Algoritmo de Prim
d
9
4
2
a
11
8
h
14
10
g
Algoritmo de Prim
Enquanto Q no vazio Faa
Q {(custo,V)}
A 0
v EXTRAIR_MIN(Q)*
A A U {v}
Para Cada u adjacente v Faa
Se u not in A e w(v,u) < custo[u] Ento
custo[u] w(v,u)
p[u] v
Retorne A = {(v,p[v])}
*Seleciona v in V-A, tal que custo de v
mnimo
Algoritmo de Kruskal
Algoritmo de Kruskal
d
9
4
2
a
11
8
h
14
10
g
Algoritmo de Kruskal
d
9
4
2
a
11
8
h
14
6
7
1
e
10
Algoritmo de Kruskal
d
9
4
2
a
11
8
h
14
6
7
1
e
10
Algoritmo de Kruskal
d
9
4
2
a
11
8
h
14
6
7
1
e
10
Algoritmo de Kruskal
d
9
4
2
a
11
8
h
14
6
7
1
e
10
Algoritmo de Kruskal
d
9
4
2
a
11
8
h
14
6
7
1
e
10
Algoritmo de Kruskal
d
9
4
2
a
11
8
h
14
6
7
1
e
10
Algoritmo de Kruskal
d
9
4
2
a
11
8
h
14
6
7
1
e
10
Algoritmo de Kruskal
d
9
4
2
a
11
8
h
14
6
7
1
e
10
Algoritmo de Kruskal
d
9
4
2
a
11
8
h
14
6
7
1
e
10
Algoritmo de Kruskal
d
9
4
2
a
11
8
h
14
6
7
1
e
10
Algoritmo de Kruskal
d
9
4
2
a
11
8
h
14
6
7
1
e
10
Algoritmo de Kruskal
d
9
4
2
a
11
8
h
14
6
7
1
e
10
Algoritmo de Kruskal
d
9
4
2
a
11
8
h
14
6
7
1
e
10
Algoritmo de Kruskal
d
9
4
2
a
11
8
h
14
6
7
1
e
10
Algoritmo de Kruskal
d
9
4
2
a
11
8
h
14
6
7
1
e
10
Algoritmo de Kruskal
A <- 0
E <- arestas em ordem crescente de peso
Para Cada (v,u) in E Faa
Se v e u em componentes distintos Ento
A A U {(v,u)}
Retorne A
Problema: Como verificar eficientemente
se v e u esto no mesmo componente?
Algoritmo de Kruskal
A <- 0
E <- arestas em ordem crescente de peso
Para Cada v in V Faa
MAKE_SET(v)
Retorne A