您的位置:首页 > 理论基础 > 数据结构算法

7.2图的存储结构(邻接表)

2017-02-23 10:27 225 查看
为什么要采用邻接表:

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

所以把数组和链表结合起来存储,这种方式在图结构中适用,称为邻接表(AdjacencyList)

邻接表的处理方法如下:

-顶点用一个一位数组存储(也可以用单链表存储),但数组可以比较容易的读取。

-每个顶点Vi的所有邻接点构成一个线性表,由于邻接点的个数不确定,所以要选择单链表存储。

邻接表(无向图)



邻接表(有向图)

有向图有两种:

1.把顶点当弧尾建立的邻接表,这样就很容易得到每个顶点的出度,如下图所示:



如果要确定顶点入度,可以建立逆邻接表:

如下图所示:



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

如下图所示:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息