Quando devo usar o Kruskal em vez de Prim (e vice-versa)?

Eu queria saber quando alguém deve usar o algoritmo de Prim e quando Kruskal para encontrar a árvore de abrangência mínima? Ambos têm lógicas fáceis, os mesmos piores casos, e a única diferença é a implementação, que pode envolver estruturas de dados um pouco diferentes. Então, qual é o fator...