临接表法:当一个图为稀疏图时,使用邻接矩阵表示法显然要浪费大量存储空间。而图的邻接表法结合顺序存储和链式存储,大大减少了这种不必要的浪费。
图的邻接表存储结构定义如下:
#define MaxVertexNum 100 //图中顶点数目的最大值
Typedef struct ArcNode{ //边表结点
Int adjvex; //该弧所指向的顶点的位置
Struct ArcNode *next; //指向下一条弧的指针
//infoType info; //网的边权值
}ArcNode;
Typedef struct VNode{ //顶点表结点
VertexType data; //顶点信息
ArcNode *first; //指向第一条依附该顶点的弧的指针
}VNode,AdiList[MaxVertexNum];
Typedef struct{
AdjList vertices; //邻接表
Int vexnum,arcnum; //图的顶点数和弧数
}ALGraph; //ALGraph是以邻接表存储的图类型