Você está na página 1de 15

Cadeira: EAD 2

2023
➢ Algoritmo prim
➢ Em 1930 foi descoberto por um matemático:
Vojtech Jarník.
➢ Em 1957 por um cientista da computação:
Robert Clay Prim
➢ Em 1959 redescoberto pelo matemático:
Edsger Dijkstra.
Você já deve ter aprendido sobre Algoritmo de
Kruskal e sua utilidade para calcular a Árvore
Geradora Mínima de um Grafo.
Deve também ter aprendido ou irá aprender
sobre o Algoritmo de Dijkstra e como calcular
o menor caminho de um vértice a todos os
outros.
O algoritmo de Prim é uma aplicação em teoria
de grafos e sua função é encontrar a árvore
geradora mínima para um grafo conexo com
pesos.
Princípio:
➢ Incluir, 1 a 1, os vértices da arvore geradora
mínima,
➢ O algoritmo parte de qualquer vértice do grafo
e, a cada passo, acrescenta a aresta de menor
peso incidente ao conjunto dos vértices que já
foram selecionados a que possui uma
extremidade em vértices no conjunto de não
selecionados.
Dado um grafo não-dirigido conexo G com
custos nas arestas, o algoritmo de Prim cultiva
uma subárvore de G até que ela se torne
geradora. No fim do processo, a árvore é uma
arvore geradora mínima
Casos em que o prim não funciona:
➢ Grafos desconexos

➢ Grafos direcionados
Podemos agora descrever o algoritmo de maneira
precisa.
➢ Cada iteração começa com uma sub-árvore T.
No início da primeira iteração, T consiste em
um único vértice.
➢ O processo iterativo consiste no seguinte:
enquanto a sub-árvore T não estiver vazia,
1. escolha uma aresta da sub-árvore que tenha
custo mínimo,
2. seja u-v a aresta escolhida, com u em T,
3. acrescente a aresta u-v e o vértice v a T
Entrada: Grafo G = (V, A) e matriz de pesos
D={dij} para todas as arestas {i, j}

1 Escolha qualquer vértice i ∈ V;


2 T ← {i};
3 N ← V \ i;
4 Tmin ← ∅;
5 enquanto |T| 6= n faça
6 Encontre a aresta {j, k} ∈ A tal que j ∈
T, k ∈ N e djk é mínimo;
7 T ← T ∪ {k};
8 N ← N \ {k};
9 Tmin ← Tmin ∪ {j, k};
10 fim
➢ Elaborar o algoritmo de Prim usando a
linguagem em Java
➢ Loureiro, António Alfredo Ferreira, Grafos,
2018

Você também pode gostar