Você está na página 1de 3

Problema da árvore abrangente de peso mı́nimo

Kruskal

Input: Grafo G = (V, A); matriz de custos C;


Output: T (árvore abrangente de peso mı́nimo);

Passo 1: Ordenar as arestas a1, . . . , an por ordem não


decrescente do seu custo;
E 0 ← ∅;
Passo2: Enquanto T = (V, E 0) não é conexo fazer:
Para i de 1 até n fazer
Se ai 6∈ E 0 então
Se E 0 ∪ {ai} não possui um ciclo então
E 0 ← E ∪ {ai};
1
Prim

Input: Grafo G = (V, A); matriz de custos C;


Output: T (árvore abrangente de peso mı́nimo);

Passo 1: Escolher um vértice v ∈ V.


Fazer V 0 ← v; T ← ∅
Passo2: Enquanto V 0 6= V fazer:
De todas as arestas e = (vi, vj ), tais que vi ∈ V 0, vj ∈ V \ V 0
determinar a de menor peso e∗ = (vi∗, vj∗)
fazer V 0 ← V ∪ {vj∗}; T ← T ∪ {e∗}

2
Teorema: Seja G = (V, E) um grafo não orientado com pesos c{i,j}
associados a cada aresta {i, j} ∈ E e seja T uma árvore abrangente
de G. Então as seguintes afirmações são equivalentes:

(a) T é a árvore abrangente de peso mı́nimo.

(b) Para cada e = {x, y} ∈ E \ E(T ), não existe nenhuma aresta no


caminho, em T, de x para y com custo superior a ce.

(c) Para toda a aresta e ∈ E(T ), e é uma aresta de peso mı́nimo de


δ(V (C)) onde C é uma componente conexa de T − e.

Você também pode gostar