1. 邻接表(无向图)的特点:
有时候邻接矩阵并不是一个很好的选择:
如上图: 边数相对顶点较少,这种结构无疑是存在对存储空间的极大浪费。
邻接表: 数组和链表结合一起来存储。
1.)顶点用一个一位数组存储。
2.)每个顶点Vi的所有邻接点构成一个线性表,由于邻接点的个数不确定,所以我们选择单链表来存储。
2. 邻接表(有向图)的特点:
把顶点当弧尾建立的邻接表,这样很容易就可以得到每个顶点的出度。
有时为了便于确定顶点的入度或以顶点为弧头的弧,我们可以建立一个有向图的逆邻接表:
3. 邻接表(网)的特点:
对于带权值的网图,可以在边表结点定义中再增加一个数据域来存储权值即可: