第六章 图 三、图的存储结构(邻接表、十字链表、邻接多重表)

一、邻接表法

(1)无向图

第六章 图 三、图的存储结构(邻接表、十字链表、邻接多重表)_第1张图片

1.定义

与树的孩子表示法相似,以顺序表的数据域为头结点,往后存储一个单向链表,链表内的值表示与此结点相邻的结点。

2.度的计算

只需遍历某一结点的后接链表,就可以算出该节点的度。

3.空间复杂度

在无向图中,每条边都要存储在两个结点的后接链表内,所以边结点的个数为2|E|,顶点结点为|V|

所以,总的空间复杂度为2|E|+|V|

(2)有向图

第六章 图 三、图的存储结构(邻接表、十字链表、邻接多重表)_第2张图片

1.定义

以顺序表的数据域为头结点,往后存储一个单向链表,链表内的值表示与由此结点开始,指向的相邻结点。

2.度的计算

出度:遍历某个结点的后接链表,得到出度数。

入度:需要遍历所有的后接链表,才能得出结点的入度。

3.空间复杂度

边结点的个数为|E|,顶点结点为|V|,所以,总的空间复杂度为|E|+|V|

邻接矩阵和邻接链表的区别:

第六章 图 三、图的存储结构(邻接表、十字链表、邻接多重表)_第3张图片

二、十字链表法(存储有向图)

第六章 图 三、图的存储结构(邻接表、十字链表、邻接多重表)_第4张图片

边结点的个数为|E|,顶点结点为|V|,所以,总的空间复杂度为|E|+|V|

三、邻接多重表(存储无向图)

第六章 图 三、图的存储结构(邻接表、十字链表、邻接多重表)_第5张图片

边结点的个数为|E|,顶点结点为|V|,所以,总的空间复杂度为|E|+|V|

第六章 图 三、图的存储结构(邻接表、十字链表、邻接多重表)_第6张图片

你可能感兴趣的:(数据结构学习,链表,数据结构)