理解数据结构中的图知识(简单易懂且掌握全面)

(1):图基本定义和分类

图定义:是由顶点集合和顶点之间的边的集合组成,通常表示为G(V,E)(其中G表示图,V是G中顶点的集合,E是G中中得集合)

 

图1:为简单图结构

图2:关于图的四种表现形式(无向图,有向图,带权无向图,带权有向图)

Ps 1:带权重的边可以表示的是具体的量(如:距离,时间等)。

   2:有向是指有方向(类似于矢量),无向中(如G1中0-1,1-0)顶点是相互连接的(0-1是等价于1-0的)。

Attention:两顶点之间不同方向边的权重可以不同(对于有权重值得图来说)。

(2):图数据的两种表示:

1:可以用二位数组来表示图(邻接矩阵):

 

1:无向图G1中某顶点到自己本身(如图中的0-0,1-1)一般标记为0,根据需要也可以标为1,而其他区域(如1-0等)中的1表示两个顶点有连接,0表示来两个顶点没有连接。

2:带权图(如G3,G4)的邻接矩阵中,不连通的顶点之间的边权值是正无穷(表示两顶点之间无法到达),一般来说也可以用远远大于其他有效边长的数字来代替不连通的顶点(如G4中1-0中的无穷大可替换为10000),主对角线是0(表示某顶点到自己的边长是0),而其他区域(如1-1等)数值为连接两个顶点的边全值。

3:无向图矩阵一般是以主对角线对称的(因为无向图的0-1和1-0是等价的)

2:可以使用链表来表示图(邻接表):

(它是一种顺序和链式相结合的储存结构)

 

右图中的链表黄色字体中的0,2,3表示表头0后有2,3对应的指针,这在左图中也清晰地表达了。而黄色字体中的2和3后面的数字15,20则是在节点结构中增加的额外数据域中存储的权值。

(3):图的另一种分类

图又可以定义为稀疏图或稠密图

即边的条数远远小于顶点数量的平方,则称为稀疏图

即边的条数约等于顶点数量的平方,则称为稠密图

一般我们可以根据顶点和边的数量关系来选择邻接矩阵或邻接表来储存图数据:

1:若判断图为稀疏图则可以用邻接表的形式表示图

2:若判断图为稠密图则可以用邻接矩阵的形式表示图

主要目的:较大的提高图的存储效率

(4)参考的视频

https://www.bilibili.com/video/BV1D5411c71o?spm_id_from=333.1007.top_right_bar_window_default_collection.content.click

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小林学编程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值