目录
题目描述
写出从图的邻接表表示转换成邻接矩阵表示的算法。
来源:王道p201.4
解题思路
从每个邻接表每个顶点往后遍历每条边,以边结点所连顶点值(adjvex)为下标,把info(权值)赋值给邻接矩阵表示图的矩阵中,并设置顶点数和边数。
图定义
//邻接表
typedef struct ArcNode{ //边结点定义
int adjvex;
struct ArcNode* next;
int info;
}ArcNode;
typedef struct VNode{ //顶点结点定义
int data;
struct ArcNode* first;
}VNode,AdjList[MaxVertexNum];
typedef struct{ //邻接表定义
AdjList vertices;
int vexnum,arcnum;
}ALGraph;
//邻接矩阵
typedef struct{
int Vex[MaxVertexNum];
int Egde[MaxVertexNum][MaxVertexNum];
int vexnum,arcnum;
}MGraph;
[注]