내 CS 클래스의 경우 Java의 Prim 알고리즘을 구현해야하며 우선 순위 대기열 단계에 문제가 있습니다. 우선 순위 대기열에 대한 경험이 있으며 일반적으로 작동하는 것으로 이해하지만 특정 단계에서 문제가 있습니다.Prim의 알고리즘 구현
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)
키 값 (노드에 연결된 가장 밝은 가장자리라고 가정)과 부모 노드가 포함 된 노드 클래스를 만들었습니다. 내 문제는 우선 순위 큐에 노드를 추가하는 것을 이해하지 못한다는 것입니다. 우선 순위 큐에 모든 노드를 추가해도 부모가 NIL로 설정되고 키가 ∞로 설정되면 나에게 의미가 없습니다.