最短路径算法
来源:互联网 发布:淘宝返利哪个 编辑:程序博客网 时间:2024/06/10 21:02
最短路径算法
#include <iostream>
void path(){
//val[i][j]从i点到j点的距离,如果不可到达到,设置成0
int val[8][8];
//res[i][j]从i点到j点的最短距离,我们只要得到res[0][7]
int res[8][8];
//fa[i]i点的前一个最短距离点
int fa[8];
for (int i = 0; i<8; i++) {
for (int j = 0; j<8; j++){
val[i][j] = 0;
res[i][j] = 10000;
}
fa[i] = -1;
}
res[0][0] = 0;
val[0][1] = 13;
val[0][2] = 15;
val[0][3] = 16;
val[1][4] = 18;
val[1][5] = 17;
val[1][6] = 16;
val[2][4] = 18;
val[2][5] = 20;
val[2][6] = 30;
val[3][4] = 11;
val[3][5] = 9;
val[3][6] = 13;
val[4][7] = 16;
val[5][7] = 14;
val[6][7] = 17;
for (int i = 1; i<8; i++) {
for (int j = 0; j<i; j++){
if (val[j][i] != 0) {
if (res[0][j] +val[j][i]<res[0][i]) {
res[0][i] = res[0][j] +val[j][i];
fa[i] = j;
}
}
}
}
int point = 7;
std::cout << 7 << "";
while (fa[point] != -1) {
std::cout << "<---" << fa[point];
point = fa[point];
}
std::cout << std::endl;
std::cout << res[0][7] <<std::endl;
}
int main(int argc, const char * argv[]) {
// insert code here...
std::cout << "Hello,World!\n";
path();
system("pause");
return 0;
}
运行结果:
- 最短路径算法
- 最短路径算法
- 最短路径算法
- 最短路径算法
- 最短路径算法
- 最短路径算法
- 最短路径算法
- 最短路径算法
- 最短路径算法
- 最短路径算法
- 最短路径算法
- 最短路径算法
- 最短路径算法
- 最短路径算法
- 最短路径算法
- 最短路径算法
- 最短路径算法
- 最短路径算法
- (五)常驻后台
- anaconda 2-4.3.0 在win10-64 下安装后不能启动的问题
- 【Java语言程序设计(基础篇)第10版 练习题答案】Practice_6_3
- 爆搜小议-洛谷2744[USACO5.3]量取牛奶Milk Measuring
- 交换与路由练习(十二、route-map)
- 最短路径算法
- MATLAB”奇淫技巧“(Updating。。)
- CodeForces 761F. Dasha and Photos
- centos7下使用yum安装mysql
- 如何用一根网线实现在两台电脑之间传输数据
- 【Java笔记】动态绑定
- Oracle 数据库的数据泵和流池(streams pool)的文章
- 安装RPM包或者安装源码包
- session入库