最短路
来源:互联网 发布:卸载windows defender 编辑:程序博客网 时间:2024/06/05 03:25
floyd算法是多源最短路算法
也就是说,floyd可以一次跑出所以点两两之间的最短路
floyd类似动态规划
如下图:
用橙色表示边权,蓝色表示最短路
求最短路的流程是这样的:
先把点1到其他点的最短路求出
1 -> 2 的最短路是2
1 -> 3 的最短路可以由1 -> 2再由2 -> 3,2+5 = 7但1 -> 4再由4 -> 3更加短,所以1 -> 3的最短路为1+4 = 5
1 -> 4 的最短路是1
1 -> 5的最短路是3
2 也像这样求
我们发现,比如:
1到3可以由1到2再到3,或是1到4再到3
那我们可以枚举k,来看i先到k再到j的距离是否小于i到j的距离
然后可以列出状态转移方程:
dis[i][j]=min{dis[i][k]+dis[k][j]} (i≠j≠k)
其中dis[i][j]表示i到j的距离
代码如下:
void floyd() { for (int k = 1;k <= n;k++) for (int i = 1;i <= n;i++) for (int j = 1;j <= n;i++) dis[i][j] = min(dis[i][j],dis[i][k]+dis[k][j]);}
阅读全文
0 0
- 最短路 & 次短路
- 最短路
- 最短路
- 最短路
- 最短路
- 最短路
- 最短路
- 最短路
- 最短路
- 最短路
- 最短路
- 最短路
- 最短路
- 最短路
- 最短路
- 最短路
- 最短路
- 最短路
- bzoj 1643: [Usaco2007 Oct]Bessie's Secret Pasture 贝茜的秘密草坪(DP)
- 10个开源云基础管理工具
- python学生管理系统
- Akka(23): Stream:自定义流构件功能-Custom defined stream processing stages
- leetcode-75-Sort Colors
- 最短路
- 数据库查询语言
- WebAPI开发中的定时处理
- 6个DIY移动APP开发平台
- SSO Cookie 跨域访问的解决方案
- 2017 ACM/ICPC Asia Regional Shenyang Online
- Jpa配置实体类创建时间更新时间自动赋值,@CreateDate,@LastModifiedDate
- [转]Jquery 点击图片在弹出层显示大图
- 清理csproject文件或者清理XML文件中的重复项