作为我的问题所述,我想知道为什么在Prim's Algorithm中使用优先队列?它如何避免我们使用幼稚的方法(是的,我听说过,但不知道为什么)。
如果有人能逐步解释邻接表,我会非常高兴。我正在使用Cormen的书。
伪代码:
如果有人能逐步解释邻接表,我会非常高兴。我正在使用Cormen的书。
伪代码:
Prim(G,w,r) //what is w (weight?) and r?
For each u in V[G]
do key[u] ← ∞ // what is key?
π[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)
我在考虑使用std :: vector,然后使用std :: make_heap()作为优先级队列来存储边缘。