邻接表(无向图)
邻接表不唯一:表头指针指向的边结点顺序并不固定,A与BCD相连,顺序可任意
若无向图中有n个顶点、e条边,则其邻接表有n个头结点、2e个表结点
邻接矩阵唯一,邻接表不唯一
邻接表(有向图)
顶点的出度等于该顶点后的表结点数
顶点的度等于该顶点入度的2倍
邻接表的建立算法
图、表结点、表头结点的结构体定义
typedef struct{ //图的结构体
AdjList vertices; //一个表头结点类型的数组
int vexnum,arcnum; //图的总顶点数和边\弧数
}ALGraph;
typedef struct ArcNode{ //表结点
int adjvex; //存储当前的边指向了哪个结点
struct ArcNode* next; //指向头结点的另一条表结点
//InfoType info; 边的权值
}ArcNode;
typedef struct VNode{ //表头结点
VertexType data; //结点的数据域
ArcNode* first; //指向下一个表结点的指针
}VNode,AdjList[MaxVertexNum];