私の質問が話すように、プリムのアルゴリズムで優先キューを使用する理由を知りたいですか? 単純な方法を使用することからどのように私たちを救うのですか (はい、聞いたことがありますが、理由はわかりません)。
adjacency list について順を追って説明できる人がいれば、とてもうれしいです。コーメンの本を使用しています。
疑似コード:
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(); を使用することを考えています。エッジを格納するための優先キューとして。