spfa--Bellman-Ford的队列优化
来源:互联网 发布:大数据双创中心是什么 编辑:程序博客网 时间:2024/05/01 15:17
spfa是一种神奇的最短路算法。
它既可以快速的找最短路,有可以判断负循环。
还是很好用的。
代码也比较简单。
STL;
核心思想:
与其他的思想差不了多少,不断的判断。
如果这个点的距离被更新,它附近的点也会进队列的。
只是多了个判断。
~因为负权环会无限的进入队列。
是吧?
以下是代码:
//假如有n个点,dis记录距离,p数组判断是否在队列中,sum记录进入队列的次数q.push(1); dis[1]=0;p[1]=1;sum[1]++;while(!q.empty()){ int k=q.front(); q.pop(); p[k]=0; for(int i=begin[k];i;i=next[i]){//链式前向星 int u=to[i]; if(!p[u] && dis[u]>dis[k]+w[u]){ dis[u]=dis[k]+w[u]; if(!p[u]){ q.push(u); p[u]=1; sum[u]++; if(sum[u]>n){ flag=1; break; } } } } } if(flag==1)printf("此图含有负权环"); return dis[m];
0 0
- SPFA(bellman-ford的队列优化)
- spfa--Bellman-Ford的队列优化
- SPFA——基于Bellman-Ford的队列优化
- SPFA算法模板(实际上是bellman-ford) 的队列优化
- Bellman-ford队列优化算法 SPFA算法
- Bellman-Ford的队列优化
- Bellman-Ford的队列优化
- Bellman-Ford的队列优化
- Bellman-Ford的队列优化
- Bellman-Ford的队列优化
- Bellman-Ford的队列优化
- bellman-ford算法的优化spfa算法
- Bellman-Ford,使用队列优化的Bellman-Ford
- Bellman-Ford算法及其队列优化(SPFA)
- 单源最短路之spfa算法代码(bellman-ford算法的队列优化)
- 单点最短路径算法 bellman-ford模板和队列优化后的spfa算法模板
- Bellman Ford+SPFA队列优化(路径还原 输出最短路的路径)
- Bellman-Ford算法的队列优化
- 数据挖掘 Apriori算法的Java代码实现
- java简单的MD5加密算法实现(二)
- ubuntu下ffmpeg安装
- 有些人为什么那么努力
- Oracle数据库的安装与连接
- spfa--Bellman-Ford的队列优化
- IT职业技能图谱(全套13张)
- 二叉树三种遍历方式的递归和循环实现
- HHU 欧洲杯(血泪。。。)
- 模板方法模式——以不变应万变
- NYOJ:奇怪的排序
- poj 2420
- css3 盒子类型
- Python |绝不乱入的靠谱书单