一、邻接表法
(1)无向图
1.定义
与树的孩子表示法相似,以顺序表的数据域为头结点,往后存储一个单向链表,链表内的值表示与此结点相邻的结点。
2.度的计算
只需遍历某一结点的后接链表,就可以算出该节点的度。
3.空间复杂度
在无向图中,每条边都要存储在两个结点的后接链表内,所以边结点的个数为2|E|,顶点结点为|V|
所以,总的空间复杂度为2|E|+|V|
(2)有向图
1.定义
以顺序表的数据域为头结点,往后存储一个单向链表,链表内的值表示与由此结点开始,指向的相邻结点。
2.度的计算
出度:遍历某个结点的后接链表,得到出度数。
入度:需要遍历所有的后接链表,才能得出结点的入度。
3.空间复杂度
边结点的个数为|E|,顶点结点为|V|,所以,总的空间复杂度为|E|+|V|
邻接矩阵和邻接链表的区别:
二、十字链表法(存储有向图)
边结点的个数为|E|,顶点结点为|V|,所以,总的空间复杂度为|E|+|V|
三、邻接多重表(存储无向图)
边结点的个数为|E|,顶点结点为|V|,所以,总的空间复杂度为|E|+|V|