}ArcCell, //定义弧或边的信息
AdjMatrix[MAX_VERTEX_NUM][MAX_VERTEX_NUM]; //用矩阵来表示图的顶点之间的关系
11-Apr-20
37
图的C语言描述
typedef struct { VertexType vexs[MAX_VERTEX_NMU]; //表示顶点的数组 AdjMatrix arcs; //表示顶点之间关系的邻接矩阵 GraphKind kind; //表示图的类型 int vexnum, arcnum; //实际的顶点数目、弧或边的数目
32
有向网的邻接矩阵示例
3
V6
1
V1
6
5
V2
8
9 7
4
V3
5
V5
5
V4
5 7
4
8 9
5
6
5
3 1
11-Apr-20
33
邻接矩阵的应用
判定两个顶点之间是否有边或弧存在
计算任意一个顶点的度
在无向图中, 统计邻接矩阵第 i 行 (列) 1 的个数可得顶点i
度优先的原则遍历图 13)BFSTravese(&G, v, visit());从顶点v开始,根据广度
优先的原则遍历图 }
11-Apr-20
7
有向图与无向图示例
V1
V2 有向图
V1
V2
无向图
V3
V4
G1 (V1,{A1})
V1 {v1, v2 , v3 , v4}
A1 { v1, v2 , v1, v3 , v3, v4 , v4, v1 }
的全部顶点,但只有足以生成一棵树的n-1条边。