Для моего класса CS мне нужно реализовать алгоритм Prim в Java, и у меня возникают проблемы с шагом очереди приоритетов. У меня есть опыт с приоритетными очередями и понимаю, что они работают в целом, но у меня возникают проблемы с конкретным шагом.Реализация алгоритма Prim's
Prim(G,w,r)
For each u in V[G]
do key[u] ← ∞
π[u] ← NIL
key[r] ← 0
Q ← V[G]
While Q ≠ Ø
do u ← EXTRACT-MIN(Q)
for each v in Adj[u]
if v is in Q and w(u,v) < key[v]
then π[v] ← u
key[v] ← w(u,v)
Я создал класс Node, который содержит значение ключа (который я предполагаю, это самый легкий край соединен с узлом) и родительский узел. Моя проблема в том, что я не понимаю добавление узла в очередь приоритетов. Добавление всех узлов в очередь приоритетов для меня не имеет смысла, если для родителя установлено значение NIL, а ключ - ∞.