临接表法:当一个图为稀疏图时,使用邻接矩阵表示法显然要浪费大量存储空间。而图的邻接表法结合顺序存储和链式存储,大大减少了这种不必要的浪费。
图的邻接表存储结构定义如下: #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是以邻接表存储的图类型