⑨讲图论第二课: 图的邻接矩阵表示法
邻接矩阵是表示一个图的常用存储表示。它用两个数组分别存储数据元素(顶点)的信息和数据元素之间的关系(边或弧)的信息。
将的顶点标为。若,,否则。
无向图的邻接矩阵是对称的,有向图的邻接矩阵一般情况下是不对称的。
在有向图中, 统计第 i 行 1 的个数可得顶点 i 的出度,统计第 j 列 1 的个数可得顶点 j 的入度。
在无向图中, 统计第 i 行 (列) 1 的个数可得顶点i 的度
网络的邻接矩阵
若G是网络,则邻接矩阵可定义为:
若i==j则a[i][j]=0;
若i!=j&&则a[i][j]=W(i,j);
否则a[i][j]=OO;
邻接矩阵表示法中图的类型定义:
#define MAXSIZE 100 /*图的顶点个数*/ typedef int datatype; typedef struct { datatype vexs[MAXSIZE]; /*顶点信息表*/ int edges[MAXSIZE][ MAXSIZE] ;/ *邻接矩阵*/ int n,e ; /*顶点数和边数*/ }graph;