一、邻接矩阵法
数组实现的顺序存储。用一维数组存顶点信息,二维数组存储图中边的信息(此二维数组称为邻接矩阵)。
-
无向图、有向图对应的邻接矩阵:

-
网对应的邻接矩阵:
所谓的网就是带权图。

-
邻接矩阵法的一些要点

二、邻接表法
顺序+链式存储。对图G的每个顶点建立一个单链表。
与树中的孩子表示法相同。
-
邻接表存储结构

-
有向图、无向图空间复杂度

-
邻接矩阵法与邻接表法对比

三、十字链表
是有向图的一种链式存储结构。
前面已讲到邻接矩阵的空间复杂度高。
邻接表计算有向图的入度,寻找有向图的入边,不方便。
而十字链表可以弥补这些缺陷。
-
十字链表

-
十字链表法性能分析

四、邻接多重表
是无向图的一种链式存储结构。与十字链表类似。
邻接矩阵与邻接表有如下图的缺陷,引入邻接多重表可以弥补这些缺陷。

- 邻接多重表

- 删除边、删除节点

五、4种存储方式小结

六、图的基本操作

本文介绍了图的四种存储方法:邻接矩阵法、邻接表法、十字链表和邻接多重表,详细讲解了每种方法的实现原理、优缺点,并通过实例分析了它们在无向图、有向图中的应用。最后,总结了各种存储方式的特点,并探讨了图的基本操作。
1467

被折叠的 条评论
为什么被折叠?



