/*
有向网图的最短路径-Dijkstra算法及路径打印
输出结果:
请输入图的顶点和弧的个数:
7 12
请依次输入图的7个顶点信息:
V0
V1
V2
V3
V4
V5
V6
请依次输入图的弧<Vi, Vj>上下标及对应权值:
0 1 2
0 3 1
1 3 3
1 4 10
2 0 4
2 5 5
3 2 2
3 4 2
3 5 8
3 6 4
4 6 6
6 5 1
图的邻接矩阵为:
V0 V1 V2 V3 V4 V5 V6
V0 0 2 ∞ 1 ∞ ∞ ∞
V1 ∞ 0 ∞ 3 10 ∞ ∞
V2 4 ∞ 0 ∞ ∞ 5 ∞
V3 ∞ ∞ 2 0 2 8 4
V4 ∞ ∞ ∞ ∞ 0 ∞ 6
V5 ∞ ∞ ∞ ∞ ∞ 0 ∞
V6 ∞ ∞ ∞ ∞ ∞ 1 0
请输入起始最短路径顶点下标:
0
path[]: 0 0 3 0 3 6 3
dist[]: 0 2 3 1 3 6 5
flag[]: 1 1 1 1 1 1 1
起始顶点到各顶点路径和距离为:
V0-V0:V0-->V0-->(0)
V0-V1:V0-->V1-->(2)
V0-V2:V0-->V3-->V2-->(3)
V0-V3:V0-->V3-->(1)
V0-V4:V0-->V3-->V4-->(3)
V0-V5:V0-->V3-->V6-->V5-->(6)
V0-V6:V0-->V3-->V6-->(5)
请按任意键继续. . .
*/
# include <stdio.h>
# include <stdlib.h>
# define VEXMAX 100
# define SIZE 5
# define INF 0X3f3f3f3f
typedef char VertexType[SIZE];
typedef int EdgeType;
typedef struct
C语言数据结构学习笔记(19)-有向网图的最短路径-Dijkstra算法及路径打印
最新推荐文章于 2024-06-05 18:05:40 发布
这篇博客介绍了如何使用C语言实现Dijkstra算法,以求解有向网图的最短路径。通过创建邻接矩阵、输入顶点和边以及权值,展示了算法的具体步骤,并打印了从指定顶点出发到所有其他顶点的最短路径和距离。
摘要由CSDN通过智能技术生成