SPFA算法

来源:互联网 发布:隔音窗 知乎 编辑:程序博客网 时间:2024/06/06 02:19
queue<int> q;int start;q.push(start);while(!q.empty()){    int now=q.front();    q.pop();    // update all node  这里是重点,更新所有节点    for(int i=0;i<n;i++){        if(dist[now]+g[now][i]<dist[i]){            dist[i]=dist[now]+g[now][i];            if(!visited[i])                {                    visited[i]=true;                    q.push(i);                }            }    }//now maybe update later; 这里也是重点,出队列后,还可能重新放进去,所以去除标记。visited[now]=false;}