数据结构-图

0、前言:

线性表(一对一关系),每个元素之间只有一个直接前驱和一个直接后继。

树形结构(一对多关系),数据元素之间是层次关系,并且每一层的数据元素可能和下一层中多个元素相关,但只能和上一层中一个元素有关。(结点的孩子和双亲)

1、图(多对多关系)

图(Graph)是由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为:G(V,E),其中,G表示一个图,V是图G中顶点的集合,E是图G中边的集合。在图中的数据元素,我们称之为顶点(Vertex),顶点集合穷非空。在图中,任意两个顶点之间都可能有关系,顶点之间的逻辑关系用边来表示,边集可以是空的。

顶点:线性表中我们把数据元素叫元素,树中数据元素叫结点,在图中数据元素,我们则称之为顶点

边:线性表中,相邻的数据元素之间具有线性关系,树中,相邻两层的结点中具有层次关系,图中任意两个顶点之间都可能有关系,顶点之间的逻辑关系用边来表示

 2、有向图和无向图

图按照边的有无方向分为无向图和有向图。无向图由顶点和边组成,有向图由顶点和弧构成。弧有弧尾和弧头之分,带箭头一端为弧头。

 

无向边:若顶点v1到v2之间的边没有方向,就是无向边,使用无序偶(,)(v1,v2)表示

有向边:若顶点v1到顶点v2的边有方向,则称这条边为有向边,又称为弧,使用有序偶<,><v1,v2>表示,其中v1为弧尾,v2为弧头,v1--->v2,有向边的两个顶点不能交换

3、简单图

在图结构中,若不存在顶点到其自身的边,且同一条边不重复出现,则称图为简单图。

4、无向完全图和有向完全图

无向完全图:在无向图中,如果任意两个顶点之间都存在边,则称该图为无向完全图。有n个顶点的完全无向图有n(n-1)/2 条边

 

有向完全图:在有向图中,如果任意两个顶点之间都存在方向互为相反的两条弧,则称改图为有向完全图。含有n*(n-1)条边

 

5、稀疏图和稠密图

按照边或弧的多少来分稀疏图和稠密图。大于n*logn为稠密图,反之为稀疏图

6、网

有些图的边或弧具有与他相关的数字,这种与图的边或弧相关的数叫做权(Weight)。这些权可以表示从一个顶点到另一个顶点的距离或耗费。这种带权的图通常称为网(Network)

 

7、子图

假设有两个图G= (V,{E})和G'= (V',{E'}),如果V'是V的子集,且E'是E的子集,则称G'为G的子图。如下图带底纹的图均为左侧无向图与有向图的子图。

 

posted @   kkzhang  阅读(365)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
点击右上角即可分享
微信分享提示