Когда я должен использовать Kruskal, а не Prim (и наоборот)?

Мне было интересно, когда следует использовать алгоритм Прима, а когда Крускала, чтобы найти минимальное остовное дерево? Они оба имеют простую логику, одинаковые наихудшие случаи, и единственное различие заключается в реализации, которая может включать в себя несколько разные структуры данных. Так...