Árvores geradoras...
TRANSCRIPT
![Page 1: Árvores Geradoras Mínimasprofessor.ufabc.edu.br/~leticia.bueno/classes/teoriagrafos/materiais… · Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de](https://reader036.vdocuments.mx/reader036/viewer/2022062402/5fb58634bfc0cc48ca637958/html5/thumbnails/1.jpg)
Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de Prim
Árvores Geradoras Mínimas
Letícia Rodrigues Bueno
UFABC
![Page 2: Árvores Geradoras Mínimasprofessor.ufabc.edu.br/~leticia.bueno/classes/teoriagrafos/materiais… · Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de](https://reader036.vdocuments.mx/reader036/viewer/2022062402/5fb58634bfc0cc48ca637958/html5/thumbnails/2.jpg)
Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de Prim
Aplicação
• Aplicação: projeto de redes de comunicações;
• queremos conectar n localidades;
• podemos usar n − 1 conexões, cada uma conectandoduas localidades;
• conexões: cabos de transmissão;
• Objetivo: conexão que usa menor quantidade de cabos émais desejável.
![Page 3: Árvores Geradoras Mínimasprofessor.ufabc.edu.br/~leticia.bueno/classes/teoriagrafos/materiais… · Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de](https://reader036.vdocuments.mx/reader036/viewer/2022062402/5fb58634bfc0cc48ca637958/html5/thumbnails/3.jpg)
Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de Prim
Definição do Problema
• grafo conexo não-orientado G = (V (G),E(G));
![Page 4: Árvores Geradoras Mínimasprofessor.ufabc.edu.br/~leticia.bueno/classes/teoriagrafos/materiais… · Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de](https://reader036.vdocuments.mx/reader036/viewer/2022062402/5fb58634bfc0cc48ca637958/html5/thumbnails/4.jpg)
Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de Prim
Definição do Problema
• grafo conexo não-orientado G = (V (G),E(G));
• V (G): conjunto de localidades;
![Page 5: Árvores Geradoras Mínimasprofessor.ufabc.edu.br/~leticia.bueno/classes/teoriagrafos/materiais… · Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de](https://reader036.vdocuments.mx/reader036/viewer/2022062402/5fb58634bfc0cc48ca637958/html5/thumbnails/5.jpg)
Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de Prim
Definição do Problema
• grafo conexo não-orientado G = (V (G),E(G));
• V (G): conjunto de localidades;
• E(G): conjunto de possíveis conexões entre localidades;
![Page 6: Árvores Geradoras Mínimasprofessor.ufabc.edu.br/~leticia.bueno/classes/teoriagrafos/materiais… · Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de](https://reader036.vdocuments.mx/reader036/viewer/2022062402/5fb58634bfc0cc48ca637958/html5/thumbnails/6.jpg)
Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de Prim
Definição do Problema
• grafo conexo não-orientado G = (V (G),E(G));
• V (G): conjunto de localidades;
• E(G): conjunto de possíveis conexões entre localidades;
• para cada uv ∈ E(G): peso p(u, v) é o custo (cabonecessário) para conectar u a v ;
![Page 7: Árvores Geradoras Mínimasprofessor.ufabc.edu.br/~leticia.bueno/classes/teoriagrafos/materiais… · Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de](https://reader036.vdocuments.mx/reader036/viewer/2022062402/5fb58634bfc0cc48ca637958/html5/thumbnails/7.jpg)
Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de Prim
Definição do Problema
• grafo conexo não-orientado G = (V (G),E(G));
• V (G): conjunto de localidades;
• E(G): conjunto de possíveis conexões entre localidades;
• para cada uv ∈ E(G): peso p(u, v) é o custo (cabonecessário) para conectar u a v ;
a
b
h g
c
i
d
f
e
8 7
9
10
144
24
8
11
7
1 2
6
![Page 8: Árvores Geradoras Mínimasprofessor.ufabc.edu.br/~leticia.bueno/classes/teoriagrafos/materiais… · Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de](https://reader036.vdocuments.mx/reader036/viewer/2022062402/5fb58634bfc0cc48ca637958/html5/thumbnails/8.jpg)
Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de Prim
Definição do Problema
• grafo conexo não-orientado G = (V (G),E(G));
• V (G): conjunto de localidades;
• E(G): conjunto de possíveis conexões entre localidades;
• para cada uv ∈ E(G): peso p(u, v) é o custo (cabonecessário) para conectar u a v ;
a
b
h g
c
i
d
f
e
8 7
9
10
144
24
8
11
7
1 2
Peso: 376
![Page 9: Árvores Geradoras Mínimasprofessor.ufabc.edu.br/~leticia.bueno/classes/teoriagrafos/materiais… · Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de](https://reader036.vdocuments.mx/reader036/viewer/2022062402/5fb58634bfc0cc48ca637958/html5/thumbnails/9.jpg)
Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de Prim
Definição do Problema
• grafo conexo não-orientado G = (V (G),E(G));
• V (G): conjunto de localidades;
• E(G): conjunto de possíveis conexões entre localidades;
• para cada uv ∈ E(G): peso p(u, v) é o custo (cabonecessário) para conectar u a v ;
a
b
h g
c
i
d
f
e
8 7
9
10
144
24
8
11
7
1 2
Peso: 376
![Page 10: Árvores Geradoras Mínimasprofessor.ufabc.edu.br/~leticia.bueno/classes/teoriagrafos/materiais… · Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de](https://reader036.vdocuments.mx/reader036/viewer/2022062402/5fb58634bfc0cc48ca637958/html5/thumbnails/10.jpg)
Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de Prim
Definição do Problema• Objetivo: encontrar um subconjunto T ⊆ E tal que:
• T é acíclico;• T conecta todos os vértices de G;• peso total p(T ) =
∑uv∈T p(u, v) é minimizado;
• Como T é acíclico e conecta todos vértices, T forma umaárvore geradora de G uma vez que T “gera” o grafo G;
• o problema de obter a árvore T é conhecido como árvoregeradora mínima ;
a
b
h g
c
i
d
f
e
8 7
9
10
144
24
8
11
7
1 2
Peso: 376
![Page 11: Árvores Geradoras Mínimasprofessor.ufabc.edu.br/~leticia.bueno/classes/teoriagrafos/materiais… · Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de](https://reader036.vdocuments.mx/reader036/viewer/2022062402/5fb58634bfc0cc48ca637958/html5/thumbnails/11.jpg)
Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de Prim
Estratégia Gulosa
• adiciona uma aresta por vez;
• gerencia subconjunto S de arestas tal que S é umsubconjunto de uma árvore geradora mínima;
• uv é uma aresta segura para S se pode ser adicionadasem violar a propriedade de S;
• a cada passo uma aresta segura é determinada para seradicionada a S;
![Page 12: Árvores Geradoras Mínimasprofessor.ufabc.edu.br/~leticia.bueno/classes/teoriagrafos/materiais… · Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de](https://reader036.vdocuments.mx/reader036/viewer/2022062402/5fb58634bfc0cc48ca637958/html5/thumbnails/12.jpg)
Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de Prim
Algoritmo Genérico para Árvore Geradora Mínima
1 GenericoAGM(G):2 S = ∅3 enquanto S não é árvore geradora mínima faça4 uv = selecionaAresta(E)5 se uv é segura para S então6 S = S ∪ {uv}7 retorne S
![Page 13: Árvores Geradoras Mínimasprofessor.ufabc.edu.br/~leticia.bueno/classes/teoriagrafos/materiais… · Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de](https://reader036.vdocuments.mx/reader036/viewer/2022062402/5fb58634bfc0cc48ca637958/html5/thumbnails/13.jpg)
Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de Prim
Como escolher uma aresta segura?
• um corte (V ′,V (G)− V ′) de G é uma partição de V (G);
• uma aresta uv ∈ E(G) cruza o corte (V ′,V (G)− V ′) seum de seus vértices pertence a V ′ e o outro vérticepertence a V (G)− V ′;
• um corte respeita um conjunto S de arestas se nãoexistirem arestas em S que cruzem o corte;
• uma aresta que tenha custo mínimo sobre todas asarestas cruzando o corte é uma aresta leve .
![Page 14: Árvores Geradoras Mínimasprofessor.ufabc.edu.br/~leticia.bueno/classes/teoriagrafos/materiais… · Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de](https://reader036.vdocuments.mx/reader036/viewer/2022062402/5fb58634bfc0cc48ca637958/html5/thumbnails/14.jpg)
Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de Prim
Como escolher uma aresta segura?
TeoremaSeja G = (V ,E) um grafo conexo, não-orientado e com pesosp sobre as arestas. Seja S um subconjunto de E que estáincluído em alguma árvore geradora mínima para G, seja(V ′,V − V ′) um corte qualquer que respeita S e seja uv umaaresta leve cruzando (V ′,V − V ′). Logo, a aresta uv é umaaresta segura para S.
![Page 15: Árvores Geradoras Mínimasprofessor.ufabc.edu.br/~leticia.bueno/classes/teoriagrafos/materiais… · Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de](https://reader036.vdocuments.mx/reader036/viewer/2022062402/5fb58634bfc0cc48ca637958/html5/thumbnails/15.jpg)
Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de Prim
Algoritmo de Prim
• escolha gulosa: árvore aumenta acrescentando umaaresta leve por vez.
• S forma uma árvore única;
• aresta segura adicionada é aresta leve que conecta árvorea vértice não presente na árvore.
a
b
h g
c
i
d
f
e
8 7
9
10
144
24
8
11
7
1 2
6
![Page 16: Árvores Geradoras Mínimasprofessor.ufabc.edu.br/~leticia.bueno/classes/teoriagrafos/materiais… · Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de](https://reader036.vdocuments.mx/reader036/viewer/2022062402/5fb58634bfc0cc48ca637958/html5/thumbnails/16.jpg)
Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de Prim
Algoritmo de Prim
• escolha gulosa: árvore aumenta acrescentando umaaresta leve por vez.
• S forma uma árvore única;
• aresta segura adicionada é aresta leve que conecta árvorea vértice não presente na árvore.
a
b
h g
c
i
d
f
e
8 7
9
10
144
24
8
11
7
1 2
6
![Page 17: Árvores Geradoras Mínimasprofessor.ufabc.edu.br/~leticia.bueno/classes/teoriagrafos/materiais… · Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de](https://reader036.vdocuments.mx/reader036/viewer/2022062402/5fb58634bfc0cc48ca637958/html5/thumbnails/17.jpg)
Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de Prim
Algoritmo de Prim
• escolha gulosa: árvore aumenta acrescentando umaaresta leve por vez.
• S forma uma árvore única;
• aresta segura adicionada é aresta leve que conecta árvorea vértice não presente na árvore.
a
b
h g
c
i
d
f
e
8 7
9
10
144
24
8
11
7
1 2
6
![Page 18: Árvores Geradoras Mínimasprofessor.ufabc.edu.br/~leticia.bueno/classes/teoriagrafos/materiais… · Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de](https://reader036.vdocuments.mx/reader036/viewer/2022062402/5fb58634bfc0cc48ca637958/html5/thumbnails/18.jpg)
Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de Prim
Algoritmo de Prim
• escolha gulosa: árvore aumenta acrescentando umaaresta leve por vez.
• S forma uma árvore única;
• aresta segura adicionada é aresta leve que conecta árvorea vértice não presente na árvore.
a
b
h g
c
i
d
f
e
8 7
9
10
144
24
8
11
7
1 2
6
![Page 19: Árvores Geradoras Mínimasprofessor.ufabc.edu.br/~leticia.bueno/classes/teoriagrafos/materiais… · Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de](https://reader036.vdocuments.mx/reader036/viewer/2022062402/5fb58634bfc0cc48ca637958/html5/thumbnails/19.jpg)
Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de Prim
Algoritmo de Prim
• escolha gulosa: árvore aumenta acrescentando umaaresta leve por vez.
• S forma uma árvore única;
• aresta segura adicionada é aresta leve que conecta árvorea vértice não presente na árvore.
a
b
h g
c
i
d
f
e
8 7
9
10
144
24
8
11
7
1 2
6
![Page 20: Árvores Geradoras Mínimasprofessor.ufabc.edu.br/~leticia.bueno/classes/teoriagrafos/materiais… · Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de](https://reader036.vdocuments.mx/reader036/viewer/2022062402/5fb58634bfc0cc48ca637958/html5/thumbnails/20.jpg)
Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de Prim
Algoritmo de Prim
• escolha gulosa: árvore aumenta acrescentando umaaresta leve por vez.
• S forma uma árvore única;
• aresta segura adicionada é aresta leve que conecta árvorea vértice não presente na árvore.
a
b
h g
c
i
d
f
e
8 7
9
10
144
24
8
11
7
1 2
6
![Page 21: Árvores Geradoras Mínimasprofessor.ufabc.edu.br/~leticia.bueno/classes/teoriagrafos/materiais… · Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de](https://reader036.vdocuments.mx/reader036/viewer/2022062402/5fb58634bfc0cc48ca637958/html5/thumbnails/21.jpg)
Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de Prim
Algoritmo de Prim
• escolha gulosa: árvore aumenta acrescentando umaaresta leve por vez.
• S forma uma árvore única;
• aresta segura adicionada é aresta leve que conecta árvorea vértice não presente na árvore.
a
b
h g
c
i
d
f
e
8 7
9
10
144
24
8
11
7
1 2
6
![Page 22: Árvores Geradoras Mínimasprofessor.ufabc.edu.br/~leticia.bueno/classes/teoriagrafos/materiais… · Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de](https://reader036.vdocuments.mx/reader036/viewer/2022062402/5fb58634bfc0cc48ca637958/html5/thumbnails/22.jpg)
Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de Prim
Algoritmo de Prim
• escolha gulosa: árvore aumenta acrescentando umaaresta leve por vez.
• S forma uma árvore única;
• aresta segura adicionada é aresta leve que conecta árvorea vértice não presente na árvore.
a
b
h g
c
i
d
f
e
8 7
9
10
144
24
8
11
7
1 2
6
![Page 23: Árvores Geradoras Mínimasprofessor.ufabc.edu.br/~leticia.bueno/classes/teoriagrafos/materiais… · Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de](https://reader036.vdocuments.mx/reader036/viewer/2022062402/5fb58634bfc0cc48ca637958/html5/thumbnails/23.jpg)
Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de Prim
Algoritmo de Prim
• escolha gulosa: árvore aumenta acrescentando umaaresta leve por vez.
• S forma uma árvore única;
• aresta segura adicionada é aresta leve que conecta árvorea vértice não presente na árvore.
a
b
h g
c
i
d
f
e
8 7
9
10
144
24
8
11
7
1 2
6
![Page 24: Árvores Geradoras Mínimasprofessor.ufabc.edu.br/~leticia.bueno/classes/teoriagrafos/materiais… · Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de](https://reader036.vdocuments.mx/reader036/viewer/2022062402/5fb58634bfc0cc48ca637958/html5/thumbnails/24.jpg)
Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de Prim
Algoritmo de Prim
• escolha gulosa: árvore aumenta acrescentando umaaresta leve por vez.
• S forma uma árvore única;
• aresta segura adicionada é aresta leve que conecta árvorea vértice não presente na árvore.
a
b
h g
c
i
d
f
e
8 7
9
10
144
24
8
11
7
1 2
6
![Page 25: Árvores Geradoras Mínimasprofessor.ufabc.edu.br/~leticia.bueno/classes/teoriagrafos/materiais… · Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de](https://reader036.vdocuments.mx/reader036/viewer/2022062402/5fb58634bfc0cc48ca637958/html5/thumbnails/25.jpg)
Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de Prim
Algoritmo de Prim
1 Prim(G,r ):2 para cada v ∈ V (G) faça3 p[v ] = ∞4 pai[v ] = −15 p[r ] = 06 Constrói heap mínimo A com V (G) (com base em p)7 S = ∅8 enquanto |A| > 1 faça9 u = RetiraMin(A); Refaz heap
10 S = S ∪ {u}11 para v ∈ adj(u) faça12 se (v ∈ A) e (p[v ] > p(u, v)) então13 p[v ] = p(u, v)14 pai[v ] = u; Refaz heap
![Page 26: Árvores Geradoras Mínimasprofessor.ufabc.edu.br/~leticia.bueno/classes/teoriagrafos/materiais… · Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de](https://reader036.vdocuments.mx/reader036/viewer/2022062402/5fb58634bfc0cc48ca637958/html5/thumbnails/26.jpg)
Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de Prim
Algoritmo de Prim
Análise da complexidade:• Constrói heap (linha 6): custa O(n);
![Page 27: Árvores Geradoras Mínimasprofessor.ufabc.edu.br/~leticia.bueno/classes/teoriagrafos/materiais… · Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de](https://reader036.vdocuments.mx/reader036/viewer/2022062402/5fb58634bfc0cc48ca637958/html5/thumbnails/27.jpg)
Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de Prim
Algoritmo de Prim
Análise da complexidade:• Constrói heap (linha 6): custa O(n);
• Refazer heap (linha 9): custa (log n) e é chamada n vezes.Total: (n log n);
![Page 28: Árvores Geradoras Mínimasprofessor.ufabc.edu.br/~leticia.bueno/classes/teoriagrafos/materiais… · Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de](https://reader036.vdocuments.mx/reader036/viewer/2022062402/5fb58634bfc0cc48ca637958/html5/thumbnails/28.jpg)
Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de Prim
Algoritmo de Prim
Análise da complexidade:• Constrói heap (linha 6): custa O(n);
• Refazer heap (linha 9): custa (log n) e é chamada n vezes.Total: (n log n);
• Laço “para” (linha 11) executa O(m) vezes;
![Page 29: Árvores Geradoras Mínimasprofessor.ufabc.edu.br/~leticia.bueno/classes/teoriagrafos/materiais… · Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de](https://reader036.vdocuments.mx/reader036/viewer/2022062402/5fb58634bfc0cc48ca637958/html5/thumbnails/29.jpg)
Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de Prim
Algoritmo de Prim
Análise da complexidade:• Constrói heap (linha 6): custa O(n);
• Refazer heap (linha 9): custa (log n) e é chamada n vezes.Total: (n log n);
• Laço “para” (linha 11) executa O(m) vezes;
• Refazer heap (linha 14): custa (log n) e é chamada 2mvezes. Total: (m log n);
![Page 30: Árvores Geradoras Mínimasprofessor.ufabc.edu.br/~leticia.bueno/classes/teoriagrafos/materiais… · Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de](https://reader036.vdocuments.mx/reader036/viewer/2022062402/5fb58634bfc0cc48ca637958/html5/thumbnails/30.jpg)
Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de Prim
Algoritmo de Prim
Análise da complexidade:• Constrói heap (linha 6): custa O(n);
• Refazer heap (linha 9): custa (log n) e é chamada n vezes.Total: (n log n);
• Laço “para” (linha 11) executa O(m) vezes;
• Refazer heap (linha 14): custa (log n) e é chamada 2mvezes. Total: (m log n);
• Complexidade total: (n log n) + (m log n);
![Page 31: Árvores Geradoras Mínimasprofessor.ufabc.edu.br/~leticia.bueno/classes/teoriagrafos/materiais… · Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de](https://reader036.vdocuments.mx/reader036/viewer/2022062402/5fb58634bfc0cc48ca637958/html5/thumbnails/31.jpg)
Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de Prim
Algoritmo de Kruskal
• escolha gulosa sempre faz escolha que parece melhor nomomento;
• nem sempre garante encontrar solução ótima global;
• para árvore geradora mínima, estratégias gulosas obtêmárvore geradora de peso total mínimo;
• algoritmo de Kruskal: S é floresta e aresta seguraadicionada é sempre aresta leve que conecta doiscomponentes distintos;
• escolha gulosa: árvore aumenta acrescentando-se umaaresta leve por vez.
![Page 32: Árvores Geradoras Mínimasprofessor.ufabc.edu.br/~leticia.bueno/classes/teoriagrafos/materiais… · Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de](https://reader036.vdocuments.mx/reader036/viewer/2022062402/5fb58634bfc0cc48ca637958/html5/thumbnails/32.jpg)
Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de Prim
Algoritmo de Kruskal
a
b
h g
c
i
d
f
e
8 7
9
10
144
24
8
11
7
1 2
6
![Page 33: Árvores Geradoras Mínimasprofessor.ufabc.edu.br/~leticia.bueno/classes/teoriagrafos/materiais… · Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de](https://reader036.vdocuments.mx/reader036/viewer/2022062402/5fb58634bfc0cc48ca637958/html5/thumbnails/33.jpg)
Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de Prim
Algoritmo de Kruskal
a
b
h g
c
i
d
f
e
8 7
9
10
144
24
8
11
7
1 2
6
![Page 34: Árvores Geradoras Mínimasprofessor.ufabc.edu.br/~leticia.bueno/classes/teoriagrafos/materiais… · Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de](https://reader036.vdocuments.mx/reader036/viewer/2022062402/5fb58634bfc0cc48ca637958/html5/thumbnails/34.jpg)
Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de Prim
Algoritmo de Kruskal
a
b
h g
c
i
d
f
e
8 7
9
10
144
24
8
11
7
1 2
6
![Page 35: Árvores Geradoras Mínimasprofessor.ufabc.edu.br/~leticia.bueno/classes/teoriagrafos/materiais… · Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de](https://reader036.vdocuments.mx/reader036/viewer/2022062402/5fb58634bfc0cc48ca637958/html5/thumbnails/35.jpg)
Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de Prim
Algoritmo de Kruskal
a
b
h g
c
i
d
f
e
8 7
9
10
144
24
8
11
7
1 2
6
![Page 36: Árvores Geradoras Mínimasprofessor.ufabc.edu.br/~leticia.bueno/classes/teoriagrafos/materiais… · Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de](https://reader036.vdocuments.mx/reader036/viewer/2022062402/5fb58634bfc0cc48ca637958/html5/thumbnails/36.jpg)
Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de Prim
Algoritmo de Kruskal
a
b
h g
c
i
d
f
e
8 7
9
10
144
24
8
11
7
1 2
6
![Page 37: Árvores Geradoras Mínimasprofessor.ufabc.edu.br/~leticia.bueno/classes/teoriagrafos/materiais… · Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de](https://reader036.vdocuments.mx/reader036/viewer/2022062402/5fb58634bfc0cc48ca637958/html5/thumbnails/37.jpg)
Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de Prim
Algoritmo de Kruskal
a
b
h g
c
i
d
f
e
8 7
9
10
144
24
8
11
7
1 2
6
![Page 38: Árvores Geradoras Mínimasprofessor.ufabc.edu.br/~leticia.bueno/classes/teoriagrafos/materiais… · Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de](https://reader036.vdocuments.mx/reader036/viewer/2022062402/5fb58634bfc0cc48ca637958/html5/thumbnails/38.jpg)
Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de Prim
Algoritmo de Kruskal
a
b
h g
c
i
d
f
e
8 7
9
10
144
24
8
11
7
1 2
6
![Page 39: Árvores Geradoras Mínimasprofessor.ufabc.edu.br/~leticia.bueno/classes/teoriagrafos/materiais… · Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de](https://reader036.vdocuments.mx/reader036/viewer/2022062402/5fb58634bfc0cc48ca637958/html5/thumbnails/39.jpg)
Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de Prim
Algoritmo de Kruskal
a
b
h g
c
i
d
f
e
8 7
9
10
144
24
8
11
7
1 2
6
![Page 40: Árvores Geradoras Mínimasprofessor.ufabc.edu.br/~leticia.bueno/classes/teoriagrafos/materiais… · Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de](https://reader036.vdocuments.mx/reader036/viewer/2022062402/5fb58634bfc0cc48ca637958/html5/thumbnails/40.jpg)
Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de Prim
Algoritmo de Kruskal
a
b
h g
c
i
d
f
e
8 7
9
10
144
24
8
11
7
1 2
6
![Page 41: Árvores Geradoras Mínimasprofessor.ufabc.edu.br/~leticia.bueno/classes/teoriagrafos/materiais… · Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de](https://reader036.vdocuments.mx/reader036/viewer/2022062402/5fb58634bfc0cc48ca637958/html5/thumbnails/41.jpg)
Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de Prim
Algoritmo de Kruskal
a
b
h g
c
i
d
f
e
8 7
9
10
144
24
8
11
7
1 2
6
![Page 42: Árvores Geradoras Mínimasprofessor.ufabc.edu.br/~leticia.bueno/classes/teoriagrafos/materiais… · Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de](https://reader036.vdocuments.mx/reader036/viewer/2022062402/5fb58634bfc0cc48ca637958/html5/thumbnails/42.jpg)
Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de Prim
Algoritmo de Kruskal
a
b
h g
c
i
d
f
e
8 7
9
10
144
24
8
11
7
1 2
6
![Page 43: Árvores Geradoras Mínimasprofessor.ufabc.edu.br/~leticia.bueno/classes/teoriagrafos/materiais… · Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de](https://reader036.vdocuments.mx/reader036/viewer/2022062402/5fb58634bfc0cc48ca637958/html5/thumbnails/43.jpg)
Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de Prim
Algoritmo de Kruskal
a
b
h g
c
i
d
f
e
8 7
9
10
144
24
8
11
7
1 2
6
![Page 44: Árvores Geradoras Mínimasprofessor.ufabc.edu.br/~leticia.bueno/classes/teoriagrafos/materiais… · Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de](https://reader036.vdocuments.mx/reader036/viewer/2022062402/5fb58634bfc0cc48ca637958/html5/thumbnails/44.jpg)
Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de Prim
Algoritmo de Kruskal
a
b
h g
c
i
d
f
e
8 7
9
10
144
24
8
11
7
1 2
6
![Page 45: Árvores Geradoras Mínimasprofessor.ufabc.edu.br/~leticia.bueno/classes/teoriagrafos/materiais… · Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de](https://reader036.vdocuments.mx/reader036/viewer/2022062402/5fb58634bfc0cc48ca637958/html5/thumbnails/45.jpg)
Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de Prim
Algoritmo de Kruskal
a
b
h g
c
i
d
f
e
8 7
9
10
144
24
8
11
7
1 2
6
![Page 46: Árvores Geradoras Mínimasprofessor.ufabc.edu.br/~leticia.bueno/classes/teoriagrafos/materiais… · Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de](https://reader036.vdocuments.mx/reader036/viewer/2022062402/5fb58634bfc0cc48ca637958/html5/thumbnails/46.jpg)
Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de Prim
Algoritmo de Kruskal
a
b
h g
c
i
d
f
e
8 7
9
10
144
24
8
11
7
1 2
6
![Page 47: Árvores Geradoras Mínimasprofessor.ufabc.edu.br/~leticia.bueno/classes/teoriagrafos/materiais… · Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de](https://reader036.vdocuments.mx/reader036/viewer/2022062402/5fb58634bfc0cc48ca637958/html5/thumbnails/47.jpg)
Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de Prim
Algoritmo de Kruskal
1 Kruskal(G):2 para v ∈ V (G) faça3 MAKE-SET(v )4 Ordena arestas de E(G) por p não decrescente5 S = ∅6 para cada (u, v) ∈ E(G) em ordem não-decrescente faça7 se FIND-SET(u) 6= FIND-SET(v )) então8 S = S ∪ {(u, v)}9 UNION(u, v )
10 retorne S
![Page 48: Árvores Geradoras Mínimasprofessor.ufabc.edu.br/~leticia.bueno/classes/teoriagrafos/materiais… · Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de](https://reader036.vdocuments.mx/reader036/viewer/2022062402/5fb58634bfc0cc48ca637958/html5/thumbnails/48.jpg)
Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de Prim
Algoritmo de Kruskal
Complexidade:
![Page 49: Árvores Geradoras Mínimasprofessor.ufabc.edu.br/~leticia.bueno/classes/teoriagrafos/materiais… · Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de](https://reader036.vdocuments.mx/reader036/viewer/2022062402/5fb58634bfc0cc48ca637958/html5/thumbnails/49.jpg)
Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de Prim
Algoritmo de Kruskal
Complexidade:• Complexidade total: O(m log n);
![Page 50: Árvores Geradoras Mínimasprofessor.ufabc.edu.br/~leticia.bueno/classes/teoriagrafos/materiais… · Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de](https://reader036.vdocuments.mx/reader036/viewer/2022062402/5fb58634bfc0cc48ca637958/html5/thumbnails/50.jpg)
Definição do Problema Estratégia Gulosa Algoritmo de Kruskal Algoritmo de Prim
Bibliografia Utilizada
• CORMEN, T.H.; LEISERSON, C.E.; RIVEST, R.L. eSTEIN, C. Introduction to Algorithms, 3a edição, MITPress, 2009.
• ZIVIANI, N. Projeto de Algoritmos com Implementaçõesem Java e C++. Thomson, 2007.