Dijkstra 单源最短路径
来源:互联网 发布:硕士论文淘宝代写 编辑:程序博客网 时间:2024/05/21 10:33
1.#include <cstdio>#include <iostream>#include <algorithm>#include <queue>#include <stack>#include <climits>#include <cstring>#include <cmath>#include <map>#include <set>#define INF 100000000using namespace std;int n,v,m;int d[1000];int vis[1000];int G[1000][1000]; int dijkstra(int s){fill(d,d+n,INF);memset(vis,0,sizeof(vis));d[s] = 0;for(int i = 0;i < n - 1;i++){int tm = INF;int q ;//在已经寻找到最短路径的点找到最小的那个 for(int j = 0;j < n;j++){if(!vis[j] && d[j] < tm){tm = d[j];q = j;}}//代表这个点已经找到了最短路径vis[q] = 1; for(int j = 0;j < n;j++){if(G[q][j]){d[j] = min(d[j],d[q] + G[q][j]);}} }for(int i = 0;i < n;i++){printf("%d\n",d[i]);}} int main(){while(cin >> n >> m){for(int i = 0;i < m;i++){int x,y,w;cin >> x >> y >> w;G[x][y] = w;G[y][x] = w;}int s;cin >> s;dijkstra(s);}return 0;}
2.
#include <cstdio>#include <iostream>#include <algorithm>#include <queue>#include <stack>#include <climits>#include <cstring>#include <cmath>#include <map>#include <set>#define INF 100000000using namespace std;int n,v,m;int d[1000];int vis[1000];int G[1000][1000];typedef pair<int,int> pa;int dijkstra(int s){fill(d,d+n,INF);memset(vis,0,sizeof(vis));priority_queue< pa,vector<pa>,greater<pa> > que;que.push(pa(0,s));d[s] = 0;for(int i = 0;i < n - 1;i++){int q = que.top().second;que.pop();for(int j = 0;j < n;j++){if(G[q][j]){d[j] = min(d[j],d[q] + G[q][j]);que.push(pa(d[j],j));}} }for(int i = 0;i < n;i++){printf("%d\n",d[i]);}} int main(){while(cin >> n >> m){for(int i = 0;i < m;i++){int x,y,w;cin >> x >> y >> w;G[x][y] = w;G[y][x] = w;}int s;cin >> s;dijkstra(s);}return 0;}
0 0
- 单源最短路径 dijkstra算法
- 单源最短路径Dijkstra算法
- Dijkstra 单源最短路径算法
- 单源最短路径 :Dijkstra 算法
- Dijkstra单源最短路径
- Dijkstra单源最短路径
- 单源最短路径(Dijkstra算法)
- Dijkstra 单源最短路径
- Dijkstra 单源最短路径
- 单源最短路径----------Dijkstra算法
- Dijkstra单源最短路径
- 单源最短路径Dijkstra算法
- 单源最短路径(Dijkstra算法)
- hdu2680(Dijkstra+单源最短路径)
- 单源最短路径 : Dijkstra 算法
- Dijkstra单源最短路径算法
- 算法 单源最短路径Dijkstra
- 单源最短路径-Dijkstra算法
- Ace of Aces【The 12th Zhejiang Provincial Collegiate Programming Contest】
- 查看 SELinux状态及关闭SELinux
- Win7安装ant
- Aerospike C客户端手册———用户定义函数—注册用户定义函数
- 2015年大一下第6周项目2-Time类中的运算符重载
- Dijkstra 单源最短路径
- Lunch Time
- ViewSub
- Oracle 中的 TO_DATE 和 TO_CHAR 函数 日期处理
- HDU 1301Jungle Roads Kruskal求解
- CentOS常用到的查看系统命令
- Android Action Bar 详解篇
- window 下安装 mongodb
- 霍夫变换详解