Algoritmos para Obtenção de Árvore
Geradora Mínima
Fabio Tirelo
Aplicação
 Obtenção de uma rede de comunicação
entre pontos de interesse com o menor custo
possível.
Algoritmo de Prim
 Algoritmo de busca em prioridade em grafos.
 Análogo ao algoritmo de obtenção de Árvore
Geradora de Caminho Mínimo, alterando somente o
cálculo da prioridade:
 O vértice escolhido a cada passo é o “mais próximo” a
qualquer vértice da árvore naquele momento e não somente
o mais próximo da origem.
Algoritmo de Prim...
A
6
A
5
1
B
5
3
D
C
2
4
6
B
5
C
6
E
D
F
E
F
Algoritmo de Prim...
A
6
A
5
6
1
B
5
3
D
C
2
4
6
1
B
5
C
6
E
D
5
F
E
F
Algoritmo de Prim...
A
6
A
5
5
1
B
5
3
5
2
4
6
B
5
C
6
E
D
1
F
C
6
E
D
4
F
Algoritmo de Prim...
A
6
A
5
1
B
5
3
5
2
4
6
B
5
C
6
E
D
1
F
C
6
E
D
2
4
F
Algoritmo de Prim...
A
6
A
5
1
B
5
3
5
2
4
6
B
5
C
6
E
D
1
F
C
6
E
D
2
4
F
Algoritmo de Prim...
A
6
A
5
1
B
5
3
5
2
4
6
B
5
C
6
E
D
1
F
3
D
C
2
4
E
F
Algoritmo de Prim...
A
6
A
5
1
B
5
3
5
2
4
6
B
5
C
6
E
D
1
F
3
D
C
2
4
E
F
Custo do Algoritmo de Prim
 O algoritmo de Prim tem um custo de tempo
O(n2), onde n é o número de vértices do
grafo.
Exercício:
 Encontre a AGM para o grafo abaixo,
utilizando o algoritmo de Prim:
A
5
7
2
E
F
1
4
P
3
3
O
3
6
7
B
6
9
8
G
5
N
9
4
8
9
C
D
5
7
J
7
H
I
5
M
13
2
11
K
7
6
L
10
Algoritmo de Kruskal
 Inicialmente, a AG é um grafo sem arestas
 Enquanto não houver incluído n-1 arestas, o
algoritmo obtém a aresta de menor custo,
incluindo-a na árvore caso esta não forme
ciclo.
Algoritmo de Kruskal...
A
6
A
5
1
B
5
3
D
C
2
4
6
B
5
C
6
E
D
1
F
E
Arestas: AC DF BE CF AD BC AB CE EF
F
Algoritmo de Kruskal...
A
6
A
5
1
B
5
3
D
C
2
2
4
6
B
5
C
6
E
D
1
F
E
Arestas: AC DF BE CF AD BC AB CE EF
F
Algoritmo de Kruskal...
A
6
A
5
1
B
5
3
D
C
2
4
6
B
5
C
6
E
D
1
F
3
2
E
Arestas: AC DF BE CF AD BC AB CE EF
F
Algoritmo de Kruskal...
A
6
A
5
1
B
5
3
D
C
2
4
6
B
5
C
6
E
D
1
F
3
2
4
E
Arestas: AC DF BE CF AD BC AB CE EF
F
Algoritmo de Kruskal...
A
6
A
5
5
1
B
5
3
D
C
2
4
6
B
5
C
6
E
D
1
F
3
2
4
E
Arestas: AC DF BE CF AD BC AB CE EF
F
Algoritmo de Kruskal...
A
6
A
5
1
B
5
3
5
2
4
6
B
5
C
6
E
D
1
F
3
D
C
2
4
E
Arestas: AC DF BE CF AD BC AB CE EF
F
Algoritmo de Kruskal...
A
6
A
5
1
B
5
3
5
2
4
6
B
5
C
6
E
D
1
F
3
D
C
2
4
E
Arestas: AC DF BE CF AD BC AB CE EF
F
Exercício:
 Encontre a AGM para o grafo abaixo,
utilizando o algoritmo de Kruskal:
A
5
7
2
E
F
1
4
P
3
3
O
3
6
7
B
6
9
8
G
5
N
9
4
8
9
C
D
5
7
J
7
H
I
5
M
13
2
11
K
7
6
L
10
Custo do Algoritmo de Kruskal
 O algoritmo de Kruskal tem um custo de
tempo O(e log(e)), onde e é o número de
arestas do grafo.
Download

Algoritmo de Prim