- 图
- 2015-07-18 09:22:44 @
看一个参考程序发现上面开了一个布尔型数组,说是什么记录是否入队,我自己在脑海中模拟了一下过程,发现数组没有用,到底有没有用啊?麻烦各位大牛指点一下
4 条评论
-
SLYZLZR LV 6 @ 2015-12-07 20:34:03
当然要开,方便记录是否在队中,除非你是用STL的大婶
-
2015-07-19 14:27:50@
SPFA
A,将起点压队
B,用待扩展节点去松弛连接的点,并出队
1,被松弛的点,如果不在队中,压队。
2,没有被松弛的点,无视。
重复1-2,直到队列为空。
注意:可能会多次进队的
1,不能处理负权回路(某点N次进队)
2,无向图负权边就是负权回路
3,必须队空才结束(缺点) -
2015-07-18 22:12:46@
要的
我几乎每个最短路都用spfa
本人的编程风格把spfa压缩到7行 -
2015-07-18 11:26:35@
判在不在队中。。在的话搜到只更新最小值不入队。每次搜到一个点就将其标记为不在队中。不然TLE到死(一直入队可想而知)。
SPFA算法对稠密图复杂度O(nm),故只对稀疏图有较好的效率!建议也学一下堆+dijkstra
- 1