最短路:
1.spfa:
/从原点开始,每次找相邻的点入队,更新它的最短路
注意:要初始化:nxt,head(first),dist,vis
至于为什么进队两次:因为有些点左右都有邻点,可能会被邻点更新两次,所以入队次数<=2
//(自己的理解)
而且每次更新完dist点入队后又以它开始spfa更新邻点,所以一定会出队一次
/适用范围:无负环但可以有负边的有向图, 不带负边的无向图/
+SLF优化:
使用双端队列,每次更新完dist与队列中现在的front比较,若与front相比离源点近则放在队头,
否则放在队尾
判负环:
"(1)BFS: "依然为spfa的过程,只不过在原有算法的基