阅读背景:

数据结构之邻接表

来源:互联网 
//邻接表是图的一种链式存储方式.
采用邻接表表示图一般需要两个表结构:
边表和表头结点

在邻接表中,图的每一个顶点都建立一个单链表,

弧结点由3个域组成,分别为邻接点域, 数据域和指针域
邻接点域:与相应的表头顶点相邻顶点的位置
数据域:存储与边或弧的信息
指针域:指示与表头相邻接的下一个顶点

表头结点:数据域和指针域





图的邻接表存储结构描述如下:
#define MaxSize 50				//顶点个数的最大值 
typedef enum{DG,DN,UG,UN}GraphKind;		//图的类型:有向图 , 有向网,  无向图和无向网 

typedef struct ArcNode		//边结点的类型定义 
{
	
	int adjvex; 		//弧指向的顶点的位置 
	InfoPtr *info;			//与弧相关的信息 
	struct ArcNode *nextarc;  //指向下一个与该结点相邻接的顶点 
}ArcNode; 

typedef struct VNode		//头结点的类型定义 
{
	VertexType data;		//用于存储顶点 
	ArcNode *firstarc;		//指向第一个与该顶点邻接的顶点 
}VNode, AdjList[MaxSize];

typedef struct 	//图的类型定义 
{
	AdjList vertex;// 表头结点数组 
	int vexnum, arcnum;//图的顶点数目与弧的数目 
}AdjGraph; 
//邻接表是图的一种链式存储方式.
采用邻接表表示图一般需要两个表结构:
边表和表头结点

在



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: