Algoritmos para Obtenção de Árvore Geradora Mínima Fabio Tirelo

Preview:

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.

Recommended