一、邻接矩阵(数组)
1.一维数组:用于存储顶点信息。
2.二维数组:用于存储图中顶点之间关联关系-邻接矩阵
特点:1.存储空间:无向图:n(n+1)/2 有向图:n^2
2.度:无向图:TD(vi)= ∑A[ i,j ] (j = 1~n) 有向图:OD(vi)= ∑A[ i,j ](j = 1~n) ID(vi)= ∑A[ j,i ] (j = 1~n)
无向图:TD(Vi)(顶点Vi的度) :第i行非零元素的个数,或第i列非零元素的个数
![](https://img-blog.csdnimg.cn/20181210200639588.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80Mzg2MzY1MA==,size_16,color_FFFFFF,t_70)
有向图:OD(Vi) (顶点Vi的出度):第i行非零元素的个数, ID(Vi)(顶点Vi的入度): 第i列非零元素的个数
![](https://img-blog.csdnimg.cn/20181210200917781.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80Mzg2MzY1MA==,size_16,color_FFFFFF,t_70)
无向网:
![](https://img-blog.csdnimg.cn/20181210201239375.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80Mzg2MzY1MA==,size_16,color_FFFFFF,t_70)
#define INF 0x3f3f3f3f //最大值 ∞
#define MAX_VERTEX_NUM 20 //最大顶点个数
typedef enum { DG,DN,UDG,UDN} GraphKind;
typedef struct ArcCell{
VRType adj; //弧的权值
InfoType *info; //弧的相关信息
}ArcCell, AdjMatrix[MAX_VERTEX_NUM][MAX_VERTEX_NUM];
typedef struct {
VertexType vex