图的存储结构
一、图的存储结构
图的存储结构有两种形式:邻接矩阵和邻接表
邻接矩阵
1.无向图的邻接矩阵

用两个数组来进行存储
分别是顶点数组和边数组,其中边数组是二维数组

其中边数组中用0和1来表示两个顶点是否相连
2.有向图的邻接矩阵

同样也是用顶点数组和边数组来存储图

其中边数组中横列表示入方向,纵列表示出方向,同样也是用0和1来表示两顶点是否相连
3.带权值的邻接矩阵

同样用两个数组来存储图
其中边数组中如果两个顶点相连有这条边的权值来表示,如果两个顶点不相连则有∞来表示,顶点自身无相连依旧用0来表示

邻接表
1.无向图的邻接表

用一个数组来进行存储,其中数组中存放链表,将相连的顶点用链表来连接

2.有向图的邻接表

和无向图的邻接表类似,只是需要注意出和入

3.十字链表

在有向图的邻接表中,需要两个数组来进行表示,很麻烦,用十字链表可以解决这个问题
十字链表的结构

图表示为

4.邻接多重表
为了解决无向邻接表中空间冗余的问题

邻接多重表的结构

图表示为

9140

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



