Kiedy powinienem używać Kruskala w przeciwieństwie do Prim (i odwrotnie)?

Zastanawiałem się, kiedy należy użyć algorytmu Prim, a kiedy Kruskala znaleźć minimalne drzewo rozpinające? Oba mają łatwą logikę, te same najgorsze przypadki, a jedyną różnicą jest implementacja, która może obejmować nieco inne struktury danych. Więc jaki jest decydujący...