我试图实现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