Uma árvore T é grafo que não tem ciclos
Uma árvore geradora é uma árvore formada por um subconjunto de areastas de um grafo que conecta todos os nós do grafo
O custo w(T) de uma árvore geradora é a soma dos pesos de suas arestas
Uma árvore geradora mínima (MST) é uma árvore formada por um subconjunto de arestas de um grafo que conecta todos os vértices do grafo e tem custo mínimo
Muitas aplicações:
Suponha que temos:
Assuma que (u,v) é leve
Suponha que temos:
Assuma que (u,v) é leve
Se (u,v)∈T, nenhuma outra aresta que cruza o corte pode estar em T
w(T′)=w(T)−w(x,y)+w(u,v)
w(T′)≤w(T)
Cada nó deve armazenar:
Se ainda não sabemos qual é a distância, ela é inicializada como infinito
Cada nó deve armazenar:
Quando uma nova aresta é adiciona na árvore, atulizamos as informações
makeSet(x)
makeSet(y)
makeSet(z)
makeSet(x)
makeSet(y)
makeSet(z)
union(x,y)
makeSet(x)
makeSet(y)
makeSet(z)
union(x,y)
find(x)
Conjuntos pedem ser representados por listas encadeadas.
Cada elemento tem um representante, que é a cabeça da lista
Na união de dois conjuntos, fazemos a cauda de uma das listas apontar para cabeça da outra (unindo as duas listas)
Prim:
Kruskal:
Ambos são gulosos