ds图—图的邻接矩阵存储及度计算_「数据结构」有向图的邻接矩阵和邻接表,与无向图有何区别...

有向图,顾名思义,就是有方向的图,这点就是和无向图最大的区别,那么今天我们来讨论一下有向图的邻接矩阵和邻接表究竟有什么区别。

首先是无向图

b5c9dee2e52fd00b1f77cf5ad618cf72.png

图一

如图所示,这张图就是一张无向图,画得有点不好看,先容忍一下了,我们要写出这张无向图的邻接矩阵和邻接表,那么我们首先来看看邻接矩阵和邻接表的概念。

邻接矩阵:邻接矩阵是表示顶点之间相邻关系的矩阵,分为两部分V和E,用一堆数组来存放图中的所有数据。

c57d7f810584fd9da94f2e98250f9325.png

图二

如图所示,就是无向图的邻接矩阵,A到A的距离是0,然后像A到E的距离没法计算,我就用无穷∞这个符号来表示了。

接下来是邻接表。

邻接表:是顺序分配和链式分配相结合的存储结构,对于无向图来说,容易出现数据冗余。

b968282f1c28a0444688ef0927b5e837.png

图三

如图所示,这就是无向图的邻接表,容易出现数据冗余,因为可以发现,表头结点A所指链表中存在一个指向B的表结点时,表头节点B所指链表也会存在一个指向A的表结点。

接下来我们来看看有向图的邻接矩阵和邻接表。

6d26f622139af79559b165e440d089af.png

图二

如图所示,这是一张有向图,我们来看看这张有向图的邻接矩阵和邻接表应该怎么画。

首先我们要确定一点,B到A的距离为2,但是A是到不了B的,那显然就走0即可。

所以可以得到:

91e0bf0e5898dc07850f4c12a58b0d7e.png

图五

如图所示,给出该有向图的邻接矩阵。

接下来我们来看该有向图的邻接表。

9be1a4d3b51263d8d1bc87e15b9b5d0e.png

图六

如图所示,这就是该有向图的邻接表。

最后做个总结,邻接矩阵和邻接表并不是很难,关键在于我们要认真分析,仔细一点,就不大容易做错了,而且要考虑周全。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值