我試圖實現Prim的算法,並且我需要爲優先級隊列(更新優先級隊列中的鍵值)使用decreaseKey方法。我可以在STL優先級隊列中實現嗎?在STL優先級隊列中實現decreaseKey隊列C++
如果有幫助,這是我下面的算法:每個頂點u在圖G的U至INFINITY
- SET鍵NIL 的U
- 集父
- 將源頂點的密鑰設置爲0
- 將隊列改爲優先隊列Q使用上述關鍵字在圖中的所有頂點
- 而Q不空
- 彈出頂點u與Q中
- 最低鍵對於每個相鄰的頂點v u的做
- 如果(v是仍然在Q)和(鍵(U)+權重函數(U,v)<鍵(v)),然後
- 集合U爲v的父
- 更新v程序的鍵等於鍵(U)+權重函數(U,v)//這部分給我帶來了問題,因爲我不知道如何在優先級qu中實現reduceKey EUE
- 如果(v是仍然在Q)和(鍵(U)+權重函數(U,v)<鍵(v)),然後
我很高興你接受你的答案,有沒有任何理由,你沒有upvote呢? – imslavko
我只有5個聲望,我需要15個upvote所以... – user1641700