学习dijk最短路径中
来源:互联网 发布:iphone安装旧版本软件 编辑:程序博客网 时间:2024/04/29 18:01
#include<iostream>#include<math.h> #include<stdio.h>#include<algorithm>#include<time.h>using namespace std;int map[100][100]={0};int book[100]={0};int dis[100]={0};//顶点 int n=0,m=0;int minn=99999;int u=0;void Dijk(){for(int i=1;i<=n;i++){minn=99999;for(int j=1;j<=n;j++){if(!book[j] && dis[j]<minn){minn=dis[j];u=j;}}//找到最小的u book[u]=1;for(int j=1;j<=n;j++)//松弛j点 {if(dis[u]+map[u][j]<dis[j]){dis[j]=dis[u]+map[u][j];//修改 }}//book[i]=1;}}int main(){//freopen("Dijkstra_out.txt","r",stdin);cin>>n>>m; int a=0,b=0; for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) { if(i==j) { map[i][j]=0; } else { map[i][j]=999999; } } }//初始化 for(int i=1;i<=m;i++) { cin>>a>>b; cin>>map[a][b];//读入边 } //初始化 for(int i=1;i<=n;i++) { dis[i]=map[1][i]; }//读入dis数组 // for(int i=1;i<=n;i++)// {// cout<<dis[i]<<" ";// }// Dijk(); for(int i=1;i<=n;i++) { cout<<dis[i]<<" "; } // for(int i=1;i<=n;i++)// {// //for(int j=1;j<=n;j++)// // {// cout<<map[1][i]<<" ";// // }// //cout<<"\n";// }//输出 //cout<<map[1][5]<<endl;cout<<(double)clock()/CLOCKS_PER_SEC;return 0;}
0 0
- 学习dijk最短路径中
- OJ:最短路径算法,Dijk
- 搜索图的最短路径之Dijk
- HDU 3790 最短路径问题(dijk最短路变形)
- 最短路径算法学习
- 最短路径学习总结
- 学习图算法----最短路径问题
- 图的最短路径学习笔记
- 算法学习-最短路径算法
- 最短路径的算法的学习
- 最短路径问题Dijkstra算法学习
- Floyd算法学习(最短路径)
- 数据结构 学习笔记(八):图(中):最短路径问题(单源最短路径 Dijkstra,多源最短路径 Floyd)
- python中networkx包学习——最短路径函数shortest_path及shorest_path_length
- 在最短路径分析中,为何分析的结果“不是”最短路径
- 最短路径算法
- 最短路径算法
- 最短路径理解
- 蓝桥杯 错误票据--!偶然间发现,然后呵呵!
- C趣味100道之58.拉丁方的一些想法。
- 简单的BFS学习笔记
- 蓝桥杯 地宫取宝
- 蓝桥杯 小盆友排队
- 学习dijk最短路径中
- 动态规划 01背包学习中
- Heartbleed bug实验报告
- Docker Registry之删除镜像、垃圾回收
- 八皇后 2333
- 多线程与并发面试题2
- floyd学习中
- BST的删除
- 最小堆的建立