引入
前面我们基本讲了什么是图结构,以及顶点、边和弧之间不同状态的特殊图结构,我们今天继续,看看这些顶点、边和弧之间的关系。
关系
我们来讲讲顶点和边的一些关系
顶点和边的关系
我们说,如果存在一个无向图
,G(V,E)
- 图中的两个顶点构成的边$(V1 , V2)\in E$属于 E 的集合
- 那么我们就说 V1 和 V2 互为
邻接点(Adjacent)
- 也就说明 V1 和 V2
相邻接,不是连接!
。 - 对于边(V1 , V2)来说
- 边(V1 , V2)依附(Incident)于 顶点 V1和 V2
- 也可以说边(V1 , V2)与顶点 V1 、V2 相关联
无向图中的度
顶点 V 的度(Degree)是和 V 相关联的边的数目,记为 TD(V)
- V 相关联得边根据上面得定义,就是根顶点 V 相连接的边
- 上图中顶点 A、B互为邻接点
- 边(A,B)依附于顶点 A 与 B 上
- 顶点 A 的度为 A 关联得边得数目
- 关联的边有(A,B)、(A,C)(A,D)
- 所以顶点 A 得度为 3
- B 的关联边是(B,A)、(B,C)度是 2
有向图中的度
那么在有向图中的度呢?现在有有向图 G=(V,E)
- 如果弧$<V1,V2>\in E$,
注意是尖括号。
属于边的集合E - 则称顶点 V1邻接到顶点 V2
- 顶点 V2 邻接自顶点 V1
- V1是弧尾,V2是弧头,所以这里得邻接是有方向的
邻接自
和邻接到
是不同的,请注意!
所以,有向图就跟无向图不同了
- 以顶点 V 为头的弧的数目称为 V 的入度(InDegree)记为 ID(V)
- 以顶点 V 为尾的弧的数目称为 V 的出度(OutDegree)记为 OD(V)
- 因此,该顶点 V 的度为$TD(V)=ID(V)+OD(V)$
我们看上面的有向图中
- 顶点 A 为头,指向 A 的入度为2
- 顶点 A 为尾,从 A 出去的出度为1
- A 的度为$2+1=3$
路径
在图中,我们从一个顶点到另一个顶点的路线,称为路径(Path)
无向图的路径
以下四种是在无向图 G 中顶点 A 到顶点 D 的四种不同的路径
我们看到顶点到顶点之间有这么多种不同的走法
- 以后我们学习图的主要目的就是简化路径
- 找出最优路径
有向图的路径
以下是在有向图 G 中从 B 到 D 的路径
有向图的路径需要额外注意方向
- 如果我从 A 到 B 是不行的,因为没有 A 为弧头、B 为弧尾的边。
- 必须是按照有向图的指向来从一个顶点到另一个顶点
路径的长度
路径的长度就是路径上边或弧的数量。
回路(环)
如果从第一个顶点到最后一个顶点相同的路径,我们称之为环
简单环
既然一个顶点到最后一个顶点得路径如果相同,我们就称之为环,那么什么是简单环呢?
- 在第一个顶点到最后一个顶点得环路上,每个顶点只出现一次。
- 除了第一个和最后一个顶点外,其余顶点都不重复出现得回路
- 满足以上条件,就是简单环了
- 简单来说,就是路径上的顶点不能重复,且能构成环状。
简单环 | 不是简单环 |
---|---|
右侧图不是简单环得原因是
- 环可以是 BCADCB,C 出现了两次
- 所以不是简单环。
连通图
如果在一个无向图中
- 顶点 V1 到顶点 V2 有路径,则称 V1 和 V2 是连通的。
- 如果图中得任意两个顶点 Vi 和 Vj 都是连通的
- 我们就称这个图 G 为连通图(ConnectedGraph)
不是连通图 | 连通图 |
---|---|
为什么左边得图不是连通图呢?因为
- E F没有一个顶点跟 ABCD 连通
- 所以并不是所有顶点都互相连通,不是连通图
注意:
完全图是:任意两个顶点必须是连接得,也就是得有边。
连通图是:任意两个顶点只要有路径能连过去就行。
连通分量
无向图中的极大连通子图称为连通分量。
- 无向图,就是边没有指定方向得图。
- 极大,就是必须包含这个子图中所有的顶点
- 连通,就是任意两个顶点都互相连通。
- 子图,就是顶点和边都属于无向图 G (V,E)。
- 注意:具有极大顶点数的连通子图包含依附于这些顶点所有的边。
图 G | 极大连通图-1 | 极大连通图-2 | 不是极大连通图 |
---|---|---|---|
我们看上面的图
- ABCD 一定是图 G 的子图
- ABCD 的任意两个结点相互连接的
- 子图 ABCD 顶点数也是最大
- 那么我们就说子图 ABCD 是图 G 的极大连通子图
- 也是图 G 的连通分量
强连通图
我们说的连通图是无向图,对于有向图来说
- 如果对于每一对儿 Vi 到 Vj 都存在路径,则称 G 是强连通图。
- 相应的,对于有向图中得极大强连通子图称为有向图的
强连通分量。
不是强连通图 | 强连通图 |
---|---|
为什么左侧得不是强连通图?
- 因为任意两个顶点没有连通
但是右侧得可以是左侧图到极大强连通子图
- 任意两个顶点联通
- 是左侧图的子图
- 所有的顶点都包含,极大。
连通图生成树
连通图生成树,顾名思义,通过连通图生成一棵树,连通图的生成树是一个极小的连通子图,
为什么呢?因为:
- 它含有图中全部的 n 个顶点
- 但只有 n-1条边,因为 n-1条边就可以生成一棵树了
普通图 G | 极小连通子图/树 | 极小连通子图/树 | 不是极小连通子图/树 |
---|---|---|---|
中间两个图,都符合以下条件
- 它含有图中全部的 n 个顶点
- 但只有 n-1条边,因为 n-1条边就可以生成一棵树了
- 所以是
极小连通子图,也是连通图生成树
最右边的图,不符合以下条件
- 虽然符合只有 n-1 条边
- 没有包含有图中全部的 n 个顶点
- 所以不是极小连通子图
有向树
如果一个有向图
,符合以下条件
- 有一个顶点入度为0,即没有其它顶点指向它
- 其它顶点得入度都是1,也就是其他顶点都只有一个顶点指向它
- 我们就称这是
一棵有向树。
上面两张图不是有向树,左图因为 D 结点的入度为3,右图因为 A 结点入度为2
上图是有向树
- F 得入度为0,没有顶点指向 F
- E G的入度都为1
- 所以上图是有向树
尾巴
这是我的个人学习笔记,主要是应付考研复习使用,充斥着一些吐槽和个人观点,并不严谨,欢迎大家参考、指正。