图的链式存储结构解析(邻接表、逆邻接表、十字链表、邻接多重表)

本文详细介绍了图的四种链式存储结构:邻接表、逆邻接表、十字链表和邻接多重表。邻接表通过数组存储顶点,并为每个顶点建立单链表,存储与其相连的边。逆邻接表则用于存储顶点的入度。十字链表结合了邻接表和逆邻接表的优点,便于快速查找入度和出度。邻接多重表主要用于存储无向图,每个节点代表与两个顶点相关的边。这些结构在存储空间和效率上有各自的优势,适用于不同场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

图的矩阵表示法比较消耗空间,需要花费$ n 2 n^2 n2$个单元存储边(弧)。在边数较少的情况下比较浪费。我们这里来讨论图的链式存储结构。

图的链式结构主要有四类:邻接表、逆邻接表、十字链表、邻接多重表。

前两个算比较好理解的,后两个更复杂一点。

邻接表


实际上邻接表都是使用数组来存储顶点,然后对每一个顶点建立一个单链表,第i个但链表中的节点表示依附于顶点vi的边(对有向图是以vi为尾的弧)。以下分类只是一些很细微的区别。

无向图的邻接表

对无向图来说第i个单链表中的结点表示依附于顶点v

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值