Upload
camila-alexandre
View
217
Download
3
Embed Size (px)
Citation preview
Algoritmos para Obtenção de Algoritmos para Obtenção de Árvore Geradora MínimaÁrvore Geradora Mínima
Fabio Tirelo
AplicaçãoAplicação
Obtenção de uma rede de comunicação entre pontos de interesse com o menor custo possível.
Algoritmo de PrimAlgoritmo 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...Algoritmo de Prim...
A
B D
C
FE
A
B D
C
FE
6
3
5
5
1
5
6 2
6
4
Algoritmo de Prim...Algoritmo de Prim...
A
B D
C
FE
A
B D
C
FE
6
3
5
5
1
5
6 2
6
4
6 5
1
Algoritmo de Prim...Algoritmo de Prim...
A
B D
C
FE
A
B D
C
FE
6
3
5
5
1
5
6 2
6
4
5
5
6 4
1
Algoritmo de Prim...Algoritmo de Prim...
A
B D
C
FE
A
B D
C
FE
6
3
5
5
1
5
6 2
6
4
5
26 4
1
Algoritmo de Prim...Algoritmo de Prim...
A
B D
C
FE
A
B D
C
FE
6
3
5
5
1
5
6 2
6
4
5
26 4
1
Algoritmo de Prim...Algoritmo de Prim...
A
B D
C
FE
A
B D
C
FE
6
3
5
5
1
5
6 2
6
4
5
23 4
1
Algoritmo de Prim...Algoritmo de Prim...
A
B D
C
FE
A
B D
C
FE
6
3
5
5
1
5
6 2
6
4
5
23 4
1
Custo do Algoritmo de PrimCusto 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:Exercício:
Encontre a AGM para o grafo abaixo, utilizando o algoritmo de Prim:
A B C D
F G H I
O N M L
J
K
E
P
57 6 9
3 9
5
7 8 6
2 9
6 43 5
8 7
3
4
1
10
7
112
13
7
5
Algoritmo de KruskalAlgoritmo 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...Algoritmo de Kruskal...
A
B D
C
FE
B D
C
FE
6
3
5
5
1
5
6 2
6
4
A
Arestas: AC DF BE CF AD BC AB CE EF
1
Algoritmo de Kruskal...Algoritmo de Kruskal...
A
B D
C
FE
B D
C
FE
6
3
5
5
1
5
6 2
6
4
A
Arestas: AC DF BE CF AD BC AB CE EF
1
2
Algoritmo de Kruskal...Algoritmo de Kruskal...
A
B D
C
FE
B D
C
FE
6
3
5
5
1
5
6 2
6
4
A
Arestas: AC DF BE CF AD BC AB CE EF
1
23
Algoritmo de Kruskal...Algoritmo de Kruskal...
A
B D
C
FE
B D
C
FE
6
3
5
5
1
5
6 2
6
4
A
Arestas: AC DF BE CF AD BC AB CE EF
1
23 4
Algoritmo de Kruskal...Algoritmo de Kruskal...
A
B D
C
FE
B D
C
FE
6
3
5
5
1
5
6 2
6
4
A
Arestas: AC DF BE CF AD BC AB CE EF
1
23 4
5
Algoritmo de Kruskal...Algoritmo de Kruskal...
A
B D
C
FE
B D
C
FE
6
3
5
5
1
5
6 2
6
4
A
Arestas: AC DF BE CF AD BC AB CE EF
1
23 4
5
Algoritmo de Kruskal...Algoritmo de Kruskal...
A
B D
C
FE
B D
C
FE
6
3
5
5
1
5
6 2
6
4
A
Arestas: AC DF BE CF AD BC AB CE EF
1
23 4
5
Exercício:Exercício:
Encontre a AGM para o grafo abaixo, utilizando o algoritmo de Kruskal:
A B C D
F G H I
O N M L
J
K
E
P
57 6 9
3 9
5
7 8 6
2 9
6 43 5
8 7
3
4
1
10
7
112
13
7
5
Custo do Algoritmo de KruskalCusto 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.