一、邻接矩阵法
数组实现的顺序存储。用一维数组存顶点信息,二维数组存储图中边的信息(此二维数组称为邻接矩阵)。
-
无向图、有向图对应的邻接矩阵:
-
网对应的邻接矩阵:
所谓的网就是带权图。
-
邻接矩阵法的一些要点
二、邻接表法
顺序+链式存储。对图G的每个顶点建立一个单链表。
与树中的孩子表示法相同。
-
邻接表存储结构
-
有向图、无向图空间复杂度
-
邻接矩阵法与邻接表法对比
三、十字链表
是有向图的一种链式存储结构。
前面已讲到邻接矩阵的空间复杂度高。
邻接表计算有向图的入度,寻找有向图的入边,不方便。
而十字链表
可以弥补这些缺陷。
-
十字链表
-
十字链表法性能分析
四、邻接多重表
是无向图的一种链式存储结构。与十字链表类似。
邻接矩阵与邻接表有如下图的缺陷
,引入邻接多重表
可以弥补这些缺陷。
- 邻接多重表
- 删除边、删除节点