数据结构---最短路径
来源:互联网 发布:淘宝天机充值平台 编辑:程序博客网 时间:2024/06/05 20:13
void Dijkstra(MatrixGraph G)
{
int weight[VERTEX_MAX];
int path[VERTEX_MAX];
int tmpvertex[VERTEX_MAX];
int i,j,k,v0,min;
printf("\n input source num:");
scanf("%d",&v0);
v0--;
for(i=0;i<G.VertexNum;i++)
{
weight[i] = G.Edges[v0][i];
if(weight[i] < MAXVALUE && weight[i] > 0)
path[i] = v0;
tmpvertex[i] = 0;
}
tmpvertex[v0] = 1;
weight[v0] = 0;
for(i=0;i<G.VertexNum;i++)
{
min = MAXVALUE;
k=v0;
for(j=0;j<G.VertexNum;j++)
if(tmpvertex[j] == 0 && weight[j] < min)
{
min = weight[j];
k=j;
}
tmpvertex[k] = 1;
for(j=0;j<G.VertexNum;j++)
if(tmpvertex[j] ==0 && weight[k] + G.Edges[k][j] < weight[j])
{
weight[j] = weight[k] + G.Edges[k][j];
path[j] = k;
}
}
for(i=0;i<G.VertexNum;i++)
{
if(tmpvertex[i] == 1)
{
k = i;
while( k != v0)
{
j = k;
printf("%c < " ,G.Vertex[k]);
k = path[k];
}
printf("%c \n", G.Vertex[k]);
}
else
printf("%c<-%c:no path\n",G.Vertex[i],G.Vertex[v0]);
}
}
{
int weight[VERTEX_MAX];
int path[VERTEX_MAX];
int tmpvertex[VERTEX_MAX];
int i,j,k,v0,min;
printf("\n input source num:");
scanf("%d",&v0);
v0--;
for(i=0;i<G.VertexNum;i++)
{
weight[i] = G.Edges[v0][i];
if(weight[i] < MAXVALUE && weight[i] > 0)
path[i] = v0;
tmpvertex[i] = 0;
}
tmpvertex[v0] = 1;
weight[v0] = 0;
for(i=0;i<G.VertexNum;i++)
{
min = MAXVALUE;
k=v0;
for(j=0;j<G.VertexNum;j++)
if(tmpvertex[j] == 0 && weight[j] < min)
{
min = weight[j];
k=j;
}
tmpvertex[k] = 1;
for(j=0;j<G.VertexNum;j++)
if(tmpvertex[j] ==0 && weight[k] + G.Edges[k][j] < weight[j])
{
weight[j] = weight[k] + G.Edges[k][j];
path[j] = k;
}
}
for(i=0;i<G.VertexNum;i++)
{
if(tmpvertex[i] == 1)
{
k = i;
while( k != v0)
{
j = k;
printf("%c < " ,G.Vertex[k]);
k = path[k];
}
printf("%c \n", G.Vertex[k]);
}
else
printf("%c<-%c:no path\n",G.Vertex[i],G.Vertex[v0]);
}
}
0 0
- 【数据结构】最短路径
- 数据结构---最短路径
- 数据结构-最短路径
- 数据结构 图 最短路径
- 数据结构之 最短路径
- 【数据结构】最短路径_Dijkstra
- 【数据结构】最短路径_Floyd
- 【数据结构】最短路径算法
- 数据结构--最短路径问题
- 数据结构---->图的最短路径
- 数据结构之 最短路径2
- 数据结构-Astar算法-最短路径
- 数据结构-图-最短路径问题
- 数据结构--最短路径(Dijkstra算法)
- 数据结构之最短路径Dijkdtra算法
- 数据结构_7:图算法 :最短路径
- 数据结构之最短路径(DijKstra)
- [数据结构]求解迷宫最短路径问题
- 获取并配置对 AD FS 令牌签名证书和令牌解密证书
- Install GraphicsMagick on Linux
- Class.getResource VS ClassLoader.getResource
- android view绘制过程
- [学习]C++ STL(自定义泛型算法)
- 数据结构---最短路径
- 解决接口不能传参问题
- 2017年省赛前最后一水---K题
- 状态栏,Dock部件
- Android开发之强制横屏和强制竖屏
- Buffer类的详解
- Linux shell 脚本攻略学习笔记2
- Netty5.0使用简单介绍
- CentOS7搭建Docker私有仓库