大话数据结构十九:图的存储结构之邻接表

1. 邻接表(无向图)的特点:

有时候邻接矩阵并不是一个很好的选择:

大话数据结构十九:图的存储结构之邻接表

如上图: 边数相对顶点较少,这种结构无疑是存在对存储空间的极大浪费。

邻接表: 数组和链表结合一起来存储。

1.)顶点用一个一位数组存储。

2.)每个顶点Vi的所有邻接点构成一个线性表,由于邻接点的个数不确定,所以我们选择单链表来存储。

大话数据结构十九:图的存储结构之邻接表


2. 邻接表(有向图)的特点:

把顶点当弧尾建立的邻接表,这样很容易就可以得到每个顶点的出度。

大话数据结构十九:图的存储结构之邻接表


有时为了便于确定顶点的入度或以顶点为弧头的弧,我们可以建立一个有向图的逆邻接表

大话数据结构十九:图的存储结构之邻接表


3. 邻接表(网)的特点:

对于带权值的网图,可以在边表结点定义中再增加一个数据域来存储权值即可:

大话数据结构十九:图的存储结构之邻接表