genauer:
Initialisiere einen Baum mit dem Knoten A
Initialisiere Heap mit den Nachbarn von A
REPEAT
entferne den billigsten Knoten x aus dem Heap
füge x dem Baum hinzu
update den Heap
UNTIL heap_is_empty
Der verwendete Heap muß dabei leistungsfähiger als ein normaler Heap sein (siehe später). In unserem vorangegangenen Beispiel ergibt sich dann folgender Ablauf:
Für einen Nachbarn y von x ist also folgendes zu tun:
Der Aufwand des Prim-Algorithmus liegt in O(|E| · log |V|) , da jede Kante mit Aufwand O(log |V|) zweimal bearbeitet wird.
Bei dichtbesetzten Graphen (|E| |V|2,|V| = n) ergibt sich für die Aufwände von Kruskal und Prim: