Изменения
→Реализация
== Реализация ==
'''function''' Prim(G, w)
'''for''' каждой вершины v <tex>\in</tex> V[из графа G] key[v] = <tex>\leftarrow \infty </tex> p[v] <tex>\leftarrow</tex> = NIL r <tex>\leftarrow </tex> = произвольная вершина в V[графа G] key[r] <tex>\leftarrow</tex> = 0 Q <tex>\leftarrow</tex> V[.push(все вершины графа G] ) '''while''' Q <tex>\neq \emptyset </tex>не пуста v <tex>\leftarrow</tex> = extractMin(Q) '''for''' всех u <tex>\in</tex> Adj[смежных с v] '''if''' u <tex>\in</tex> Q and key[u] > w(v, u) <tex> p[u] \leftarrow = v </tex> key[u] <tex>\leftarrow</tex> = w(v, u)
decreaseKey(Q, u, key[u])
Ребра дерева восстанавливаются из его неявного вида после выполнения алгоритма.