用普通队列queue。
原因是优先队列和SPFA的原理无关。
SPFA的原理是基于BellmanFord,BellmanFord的原理是每次更新用所有的结点去松弛边。松弛V−1轮。
每一轮松弛的时间复杂度是O(V+E),总时间复杂度是:O((V−1)×(V+E)),为了在稀疏图中减少时间复杂度,我们才提出了SPFA。
SPFA优化的点是将已经更新过的点存入队列,用队列里面的点松弛边,减少了用未更新过的点去松弛边的情况,但最坏情况仍与Bellman相同。
所以我们根本不需要最小优先队列,因为增加了"最小"的性质反而会使得算法发生错误,但是具体错误我不知道。