Please enable JavaScript.
Coggle requires JavaScript to display documents.
Algoritmo de Prim, Algoritmo de Kruskal, Algoritmos de Union Find - Coggle…
Algoritmo de Prim
Mnimum Spanning Tree
Uma spanning tree de um grafo conectado é um subgrafo conexo e acíclico que contém todos os vértices
No caso de um grafo pesado, podemos considerar o peso da spanning tree como a soma dos pesos de todas as linhas
Assim, a minimum spanning tree, é a spanning tree de menor peso para um grafo
Criação de subárvore
Para gerar a minimum spanning tree, o algoritmo de Prim começa criando uma ávore
-
Eficiência
A eficiência do Algoritmo de Prim depende das implementações de grafo e lista prioritária que forem usadas
Sua melhor possibilidade é a versão com um grafo como lista de adjacências e uma heap miníma para lista prioritária
Nela, o algoritmo entra na classe de eficiência não pior que E * log(N), sendo N o número de vértices, e E, o de linhas do grafo
-
Algoritmo de Kruskal
Montagem da árvore
Aqui, as linhas do grafo são ordenadas de forma não decrescente de acordo com o peso
O algoritmo, então, itera sobre essa lista verificando se a linha formaria um ciclo na árvore
Se formar, é ignorada, se não, os vértices são inseridos na árvore
Determinar se um vértice formaria ou não um ciclo na árvore é um processo não trivial e que aumenta a complexidade do Algoritmo de Kruskal, se comparado com o de Prim
Por isso, torna-se conveniente o uso de uma interpretação diferente para o algoritmo
-
O algoritmo de Kruskal, assim como o de Prim, determina a minimum spanning tree de um grafo conectado, diferindo em como a árvore é montada
Algoritmos de Union Find
O Algoritmo de Kruskal exemplifica uma situação em que é necessário realizar operações sob um conjunto de conjuntos, que começam com 1 elemento
-