私が使用した擬似コード:
for all V vertices: visited[n]=0
pick any vertex r from graph and set visited[r]=1
For all edges e incident to r
PQ.insert()
while(PQ is not empty)//line 1
f=PQ.min()//f(r,s) is such that visited[s]=0
for all edges e(s,t) incident to s//line 2
if(visited[t]==0)
PQ.insert(e);//line 3
else
PQ.delete(e);//line 4
visited[s]=1;
end while;
私の理解によると:
- 1行目:実行
V-1
回数。 - 2行目:すべての頂点の次数の合計時間…..つまり
2E
時間
2行目ごとに2行目と4行目は、すべてのエッジを1つずつlog E
追加/削除しているため、時間がかかります。PQ
したがって、合計time
= V-1+2E.logE
=E.log E
しかし、本はそれがそうだと言っていE.logV
ます、それがなぜであるか説明できますか?