Академический Документы
Профессиональный Документы
Культура Документы
Disjuntos: Union-find
UFABC
Estruturas de Dados para Conjuntos Disjuntos: Introdução
Estruturas de Dados para Conjuntos Disjuntos: Introdução
c h e b
Implementação através de Listas Encadeadas
c h e b
f g d
Implementação através de Listas Encadeadas
c h e b
f g d
f g d c h e b
Implementação através de Listas Encadeadas
c h e b
f g d
f g d c h e b
Implementação por Florestas de Conjuntos Disjuntos
c h e b
f g d
f g d c h e b
c f f
h e d c d
b g h e g
b
Implementação por Florestas de Conjuntos Disjuntos
Implementação por Florestas de Conjuntos Disjuntos
8 7
4 b 2
c d 9
4
a 11 i 14 e
7 6
8 10
h 1 g 2 f
Aplicação: árvore geradora mínima
8 7
4 b 2
c d 9
4
a 11 i 14 e
7 6
8 10
h 1 g2 f
peso: 37
Aplicação: árvore geradora mínima
8 7
4 b 2
c d 9
4
a 11 i 14 e
7 6
8 10
h 1 g2 f
peso: 37
Árvore geradora mínima: algoritmo geral
Árvore geradora mínima: algoritmo geral
Estratégia gulosa:
Árvore geradora mínima: algoritmo geral
Estratégia gulosa:
1 generico(G):
2 A←∅
3 enquanto A não é árvore geradora faça
4 encontre aresta (u, v ) segura para A
5 A ← A ∪ {(u, v )}
6 retorne A
Árvore geradora mínima: algoritmo geral
Estratégia gulosa:
1 generico(G):
2 A←∅
3 enquanto A não é árvore geradora faça
4 encontre aresta (u, v ) segura para A
5 A ← A ∪ {(u, v )}
6 retorne A
8 7
4 b 2
c d 9
4
a 11 i 14 e
7 6
8 10
h 1 g 2 f
Árvore geradora mínima: algoritmo geral
8 7
4 b 2
c d 9
4
a 11 i 14 e
7 6
8 10
h 1 g 2 f
Árvore geradora mínima: exemplo
8 7
4 b 2
c d 9
4
a 11 i 14 e
7 6
8 10
h 1 g 2 f
Árvore geradora mínima: exemplo
8 7
4 b 2
c d 9
4
a 11 i 14 e
7 6
8 10
h 1 g 2 f
Árvore geradora mínima: exemplo
8 7
4 b 2
c d 9
4
a 11 i 14 e
7 6
8 10
h 1 g 2 f
Árvore geradora mínima: exemplo
8 7
4 b 2
c d 9
4
a 11 i 14 e
7 6
8 10
h 1 g 2 f
Árvore geradora mínima: exemplo
8 7
4 b 2
c d 9
4
a 11 i 14 e
7 6
8 10
h 1 g 2 f
Árvore geradora mínima: exemplo
8 7
4 b 2
c d 9
4
a 11 i 14 e
7 6
8 10
h 1 g 2 f
Árvore geradora mínima: exemplo
8 7
4 b 2
c d 9
4
a 11 i 14 e
7 6
8 10
h 1 g 2 f
Árvore geradora mínima: exemplo
8 7
4 b 2
c d 9
4
a 11 i 14 e
7 6
8 10
h 1 g 2 f
Árvore geradora mínima: exemplo
8 7
4 b 2
c d 9
4
a 11 i 14 e
7 6
8 10
h 1 g 2 f
Árvore geradora mínima: exemplo
8 7
4 b 2
c d 9
4
a 11 i 14 e
7 6
8 10
h 1 g 2 f
Árvore geradora mínima: exemplo
8 7
4 b 2
c d 9
4
a 11 i 14 e
7 6
8 10
h 1 g 2 f
Árvore geradora mínima: exemplo
8 7
4 b 2
c d 9
4
a 11 i 14 e
7 6
8 10
h 1 g 2 f
Árvore geradora mínima: exemplo
8 7
4 b 2
c d 9
4
a 11 i 14 e
7 6
8 10
h 1 g 2 f
Árvore geradora mínima: exemplo
8 7
4 b 2
c d 9
4
a 11 i 14 e
7 6
8 10
h 1 g 2 f
Árvore geradora mínima: exemplo
8 7
4 b 2
c d 9
4
a 11 i 14 e
7 6
8 10
h 1 g 2 f
Árvore geradora mínima: algoritmo de Kruskal
Árvore geradora mínima: algoritmo de Kruskal
1 kruskal(G):
2 A←∅
3 para cada vértice v ∈ V (G) faça
4 makeSet(v )
5 ordene arestas de E por peso w crescente
6 para cada aresta (u, v ) ∈ E(G) em ordem crescente faça
7 se findSet(u) 6= findSet(v ) então
8 union(u, v )
9 retorne A
Exercícios