时间复杂度:O(nm)
void SPFA()
{
queue<int>q;
memset(d,0x3f,sizeof d);
memset(v,0,sizeof v);
d[1] = 0;
v[1] = 1;
q.push(1);
while(q.size())
{
int x = q.front();
q.pop();
v[x] = 0;
for(int i = head[x]; i ; i = Next[i])
{
int y = ver[i];
int z = edge[i];
if(d[y] > d[x] + z)
{
d[y] = d[x] + z;
if(!v[y])q.push(y),v[y] = 1;
}
}
}
}
还有呢就是……标题是说
#### Bellman-Ford算法和SPFA算法……这是两种啊,可是这里只有一个代码
大佬能补充下Bellman-Ford算法的代码吗(我不会(我可以光明正大地说我不会(我巨弱)))
大佬这是……dijkstra啊
刚刚复制的dijkstra准备改,不小心按到提交了,已经改好了
可是……
……
我已经分不清Floyd、dijkstra、Bellman-Ford和SPFA了……这个是手滑
其实这俩长得也差不多
hh就是个优化
除了dijkstra要用小根堆,SPFA用普通对列
嗯嗯
嗯涨姿势了
大佬能加个Bellman-Ford的么……(偶不会,偶很cai)
这就是Bellman-Ford啊,SPFA就是队列优化的Bellman-Ford算法
呃对哦……有道理我咋忘了
但是没有优化的我反倒不会了……