图的定义和术语

(Graph)是一种较线性表和树更为复杂的数据结构。
线性表中,数据元素之间仅有线性关系,每个数据元素只有一个直接前驱和一个直接后继。
树形数据结构中,数据元素之间有着明显的层次关系,并且每一层的数据元素可能和下一层中多个元素相关,但只能和上一层中一个元素相关。
结构中,节点之间的关系可以是任意的,图中任意两个数据元素之间都可能相关。

图的定义

是数据结构,加上一组基本操作,就构成了抽象数据类型。
在图中的数据元素通常被称为顶点(Vertex),V是顶点的有穷非空集合;VR是两个顶点之间的关系集合。若<v,w>∈VR,则<v,w>表示从v到w的一条(Are),且称v为弧尾(Tail)或初始点(Initial node),称w为弧头(Head)或终端点(Terminal node),此时的图称为有向图(Digraph)。若<v,w>∈VR必有<w,v>∈VR,即VR是对称的,则以无序对(v,w)代替这两个有序对,表示v和w之间的一条(Edge),此时的图称为无向图(Undigraph)。

我们用n表示图中顶点数目,用e表示边或弧的数目。
对于无向图,e的取值范围是0到n(n-1)/2。有n(n-1)/2条边的无向图称为完全图(Completed graph)
对于有向图,e的取值范围是0到你(n-1)具有(n-1)条弧的有向图称为有向完全图
有很少条边或弧的图称为稀疏图(Sparse graph),反之称为稠密图(Dense graph)。
有时图的边或弧具有与它相关的数,这种与图的边或弧相关的数叫做(Weight)这些权可以表示一个顶点到另一个顶点的距离或耗费。这种带权的图通常称为(Network)
如果有两个图G=(V,{E})和G1=(V1,{E1}),若V1⊆V且E1⊆E则称G1为G的子图(Subgraph)
对于无向图G=(V,{E}),如果边(v,v’)∈E,则称顶点v和v’互为邻接点(Adjacent)。边(v,v’)依附(Incident)于顶点v和v’或者说(v,v’)和顶点v和v’相关联。顶点v的(Degree)是和v相关联的边的数目,记为TD(V)。
以顶点v为头的弧的数目称为入度(InDegree),记为ID(v)
以顶点v为尾的弧的数目称为v的出度(OutDegree),记为OD(v)
一般的,如果顶点vi的度记为TD(vi),那么一个有n个顶点,e条边或弧的图,满足如下关系: ( e = 1 2 ∑ i = 1 n T D ( v i ) ) \displaystyle\left(e=\frac{1}{2} \sum_{i=1}^n TD(v_i) \right) (e=21i=1nTD(vi))

路径

在这里插入图片描述路径的长度是路径的边的数目。w的长度为k。

  • 起点和终点相同的路径称为回路(环)(Cycle)。
  • 若路径w的顶点v0,v1……,vk,除v0和vk可以相同之外,其他顶点互不相同,则称w为简单路径
  • 如果构成回路的路径是简单路径,称此回路为简单回路。不带回路的图称为无环图。不带回路的有向图称为有向无环图

连通图

无向图G,如果从顶点v到v’有路径,则称v和v’是连通的。如果对于无向图G中任意两个顶点vi,vj∈V,vi和vj都是连通的,则称G是连通图(Connected Graph)
连通分量(Connected Component)指的是无向图中的最大连通子图
有向图G中,如果从顶点v到顶点v’有路径或从顶点v’到顶点v有路径,则称vv’连通的。
有向图G中,如果对于每一对vi,vj ∈V,vi≠vj 从vi到vj和从vj到vi都存在路径,则称G是强连通图
有向图中的最大强连通子图称作有向图的强连通分量

生成树

一个连通图G的一个包含所有顶点的极小连通子图T是:

  1. T包含G的所有顶点n
  2. T为连通子图
  3. T包含的边数最少

T是一颗有n个顶点,n-1条边的生成树(支撑树)

性质1:

一个有n个顶点的连通图的生成树有且仅有n-1条边。

  1. 如果一棵生成树有n个顶点和小于n-1条边,则为非连通图。构成一棵n个顶点的生成树需要n-1条边,少于n-1,则必有边断开不再连通。
  2. 如果一棵生成树有n个顶点和大于n-1条边,则一定有。构成一棵n顶点生成树需要n-1条边,若再添加一条边,必会使得与它关联的那两个顶点之间有了第二条路径。
性质2:

一个连通图的生成树并不唯一。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值