最短路径算法 地杰斯特拉算法
来源:互联网 发布:微信业务域名 编辑:程序博客网 时间:2024/05/17 07:44
#include <iostream>
#include <stdio.h>
#include <string.h>
using namespace std;
const int N = 1234;
const int INF = 1234567;
int G[N][N];
int dist[N];
int vis[N];
int n,m;
void dij(int v0)
{
int pos = v0;
for(int i=1;i<=n;i++)
{
dist[i]=G[v0][i];
}
vis[pos]=1;
for(int i=1;i<n;i++)
{
int mins=INF;
for(int j=1;j<=n;j++)
{
if(!vis[j] && dist[j] <mins)
{
pos=j;
mins=dist[j];
}
}
vis[pos]=1;
for(int j=1;j<=n;j++)
{
if(!vis[j] && dist[j] > dist[pos]+G[pos][j])
{
dist[j]=dist[pos]+G[pos][j];
}
}
}
}
int main()
{
scanf("%d %d",&n,&m);
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
if(i==j)
{
G[i][j]=0;
}
else
{
G[i][j]=INF;
}
}
}
memset(vis,0,sizeof(vis));
for(int i=1;i<=m;i++)
{
int u,v,w;
scanf("%d %d %d",&u,&v,&w);
if(w<G[u][v])
{
G[u][v]=G[v][u]=w;
}
}
dij(1);
return 0;
}
#include <stdio.h>
#include <string.h>
using namespace std;
const int N = 1234;
const int INF = 1234567;
int G[N][N];
int dist[N];
int vis[N];
int n,m;
void dij(int v0)
{
int pos = v0;
for(int i=1;i<=n;i++)
{
dist[i]=G[v0][i];
}
vis[pos]=1;
for(int i=1;i<n;i++)
{
int mins=INF;
for(int j=1;j<=n;j++)
{
if(!vis[j] && dist[j] <mins)
{
pos=j;
mins=dist[j];
}
}
vis[pos]=1;
for(int j=1;j<=n;j++)
{
if(!vis[j] && dist[j] > dist[pos]+G[pos][j])
{
dist[j]=dist[pos]+G[pos][j];
}
}
}
}
int main()
{
scanf("%d %d",&n,&m);
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
if(i==j)
{
G[i][j]=0;
}
else
{
G[i][j]=INF;
}
}
}
memset(vis,0,sizeof(vis));
for(int i=1;i<=m;i++)
{
int u,v,w;
scanf("%d %d %d",&u,&v,&w);
if(w<G[u][v])
{
G[u][v]=G[v][u]=w;
}
}
dij(1);
return 0;
}
0 0
- 最短路径算法 地杰斯特拉算法
- 最短路径-地杰斯特拉算法
- 【算法——03】最短路径——Dijkstra地杰斯特拉算法
- 最短路径算法
- 最短路径算法
- 最短路径算法
- 最短路径算法
- 最短路径算法
- 最短路径算法
- 最短路径算法
- 最短路径算法
- 最短路径算法
- 最短路径算法
- 最短路径算法
- 最短路径算法
- 最短路径算法
- 最短路径算法
- 最短路径算法
- 圆形图
- 思维拓展
- 160
- hihoCoder hiho一下 第148周--Font Size (模拟)
- rpm使用
- 最短路径算法 地杰斯特拉算法
- 【厚积薄发】编程技术总结7—封装、继承、多态简介
- Java中的Lab和RGB的相互转换
- jdbc连接
- USEFUL ONE-LINE SCRIPTS FOR SED (Unix stream editor)
- Maven面试题
- 细说正则表达式之断言
- mysql查询按照指定字符串进行排序
- thinkphp验证码使用小案例