NOTE本页面由ChatGPT生成。
第 14 章:图的基本概念
根据老师课件整理。
本章重点不是研究图形的形状,而是研究顶点与边之间的关系,以及图的结构性质。
目录
一、图是什么?
1. 图论研究的对象
现实中有许多问题可以抽象成“点”和“线”。
| 现实对象 | 顶点 | 边 |
|---|---|---|
| 城市交通网络 | 城市 | 道路 |
| 社交网络 | 用户 | 好友关系或关注关系 |
| 课程先修关系 | 课程 | 先修关系 |
| 计算机网络 | 设备 | 网络连接 |
图论通常不关心边的长度,也不关心图形画出来的形状。只要顶点之间的连接关系没有变化,就可以认为图的结构没有变化。
例如,下面两幅图虽然形状不同,但表示的连接关系相同。
a ----- b a| | / \| | d bd ----- c \ / c2. 无向图
无向图记作 。
其中:
- 是顶点集;
- 是边集;
- 每条边没有方向。
例如:
可以画成:
a ----- b \ / \ / c ----- d由于边没有方向,所以 。
例如,城市之间的双向道路可以用无向边表示。
3. 有向图
有向图通常记作 。
每条边具有方向,用有序对表示。
例如, 表示从顶点 指向顶点 。
此时,。
a → b例如,用户 关注了用户 ,并不代表用户 一定关注用户 。
将有向图中每条有向边的箭头去掉,得到的无向图称为该有向图的基图。
4. 阶、零图、平凡图与空图
| 概念 | 含义 |
|---|---|
| 阶图 | 有 个顶点的图 |
| 零图 | 没有任何边的图,即 |
| 平凡图 | 只有一个顶点且没有边的图 |
| 空图 | 顶点集为空集的图 |
需要区分:
- 零图可以有多个顶点,只是没有边;
- 平凡图是特殊的零图;
- 空图连顶点都没有。
二、顶点与边的关系
这一部分的术语很多,但可以围绕一个问题理解:
一条边连接了谁?一个顶点与哪些顶点或边有关系?
1. 端点与关联
在无向图中,设 ,则 称为边 的端点,边 与顶点 关联。
u ----- v e边 与 和 都关联。
2. 环
当一条边的两个端点相同时,即 ,这条边称为环。
↗---↘ | v | ↖---↙环有一个重要的计数规则:
在无向图中,一个环使顶点的度数增加 。
原因是:环虽然只有一条边,但它的两个端点都是同一个顶点。
3. 平行边与多重图
如果两条或多条边连接同一对顶点,这些边称为平行边。
u ===== v假设 之间有两条边,则这两条边互为平行边,其重数为 。
在有向图中,只有始点和终点都相同的边才是平行边。
例如, 与 是平行边。
但是, 与 的方向不同,不是平行边。
4. 简单图与多重图
| 概念 | 条件 |
|---|---|
| 多重图 | 含有平行边 |
| 简单图 | 没有平行边,也没有环 |
后续学习完全图、补图和树时,通常会重点讨论简单图。
5. 相邻
顶点相邻
如果两个顶点之间存在一条边,则称它们相邻。
a ----- b顶点 相邻。
边相邻
如果两条边至少有一个公共端点,则称它们相邻。
a ----- b ----- c e₁ e₂边 都以 为端点,因此两条边相邻。
6. 邻域与关联集
对于无向图中的顶点 :
邻域
与 相邻的所有顶点组成的集合称为 的邻域。
例如:
a ----- b ----- c | d有 。
闭邻域
闭邻域还要包括顶点自身。
因此,。
关联集
与顶点 关联的所有边组成的集合称为关联集。
三、顶点的度数与握手定理
这是本章最重要的计算部分。
1. 无向图中顶点的度数
顶点 的度数记作 。
它表示顶点 作为边的端点出现的总次数。
例如:
a ----- b ----- c | d有:
环的计数
如果顶点上有一个环:
↗---↘ | a | ----- b ↖---↙则 。
原因是:
- 环贡献 ;
- 之间的普通边贡献 。
2. 特殊顶点
| 概念 | 含义 |
|---|---|
| 孤立点 | 度数为 的顶点 |
| 悬挂顶点 | 度数为 的顶点 |
| 悬挂边 | 与悬挂顶点关联的边 |
| 奇度顶点 | 度数为奇数的顶点 |
| 偶度顶点 | 度数为偶数的顶点 |
图 的最大度和最小度分别记作:
3. 有向图中的入度与出度
在有向图中,每条边有方向,因此需要区分:
- 出度:从顶点出发的边数;
- 入度:进入顶点的边数。
记作:
- :顶点 的出度;
- :顶点 的入度。
总度数为 。
例如:
a → b → c↑ ↓└── d假设边为:
则:
有向图中的环
一个有向环 会使:
- 增加 ;
- 增加 ;
- 增加 。
4. 握手定理
对于任意无向图,有:
也就是说:
所有顶点度数之和等于边数的 倍。
原因很直观:每条边都有两个端点,因此每条边总共贡献 次度数。
例如:
a ----- b \ / \ / c ----- d边数为 。
各顶点度数为:
因此,。
5. 奇度顶点一定有偶数个
由握手定理可以推出:
任何图中,奇度顶点的个数一定是偶数。
原因是:
- 所有顶点度数之和为偶数;
- 若奇数个奇数相加,结果一定是奇数;
- 因此奇度顶点只能有偶数个。
例如,一个图不可能恰好有 个、 个或 个奇度顶点。
6. 有向图版本的握手定理
对于有向图:
原因是每条有向边:
- 对始点贡献一次出度;
- 对终点贡献一次入度。
7. 度数列与可图化
将图中各个顶点的度数排列起来,得到图的度数列。
例如, 是一个度数列。
课件中给出:
一个非负整数列可图化,当且仅当其元素之和为偶数。
这里需要特别注意:课件中的一般图允许环和平行边,因此“度数和为偶数”足以保证可图化。
但是,如果题目要求构造简单图,条件会更加严格。
例如, 的总和为 ,是偶数,但它无法成为一个 阶简单图的度数列,因为 阶简单图中每个顶点的度数最多是 。
四、图的同构
1. 直观理解
如果两个图只是:
- 顶点名称不同;
- 画法不同;
- 顶点摆放位置不同;
但是连接关系完全一致,那么这两个图同构。
图同构记作 。
例如:
a ----- b 1| | / \| | 4 2d ----- c \ / 3两幅图都是一个四边形环,因此同构。
2. 严格定义
若存在一个双射 ,并且保持顶点之间的邻接关系、边的方向和平行边的重数,则两个图同构。
可以理解为:
给第一个图中的每个顶点重新命名,能够得到第二个图。
3. 判断不同构的常用方法
常用必要条件:
- 顶点数相同;
- 边数相同;
- 度数列相同;
- 对应顶点的邻域大小、关联边数量等相同。
如果其中任意一个条件不满足,则两个图一定不同构。
但是反过来不一定成立。
度数列相同,不代表一定同构。
因此,判断同构通常分两步:
- 先用顶点数、边数和度数列排除;
- 若无法排除,再尝试建立顶点之间的一一对应关系。
五、几类特殊图
1. 完全图
阶无向完全图记作 。
它满足:任意两个不同顶点之间都有一条边。
例如:
K₃:
a / \ b---c每个顶点都与其他 个顶点相邻,因此:
例如,。
2. 有向完全图
在 阶有向完全图中,每对不同顶点之间都有两条方向相反的边:
因此:
3. 竞赛图
竞赛图也是有向简单图,但每对不同顶点之间只有一个方向。
例如:
a → b↑ ↓└── c可以将其理解为:
- 每两名选手之间进行一次比赛;
- 箭头从胜者指向败者;
- 每场比赛只有一个结果。
4. 正则图
如果无向简单图中每个顶点的度数都为 ,则称其为 -正则图。
例如,四边形:
a ----- b| || |d ----- c每个顶点度数都是 ,因此它是 -正则图。
对于 阶 -正则图,有:
六、子图与补图
1. 子图
若 且 ,则 是 的子图。
直观上,子图就是从原图中删掉一些顶点或边之后得到的图。
2. 真子图
如果 并且 ,则 是 的真子图。
3. 生成子图
如果子图保留了原图中的全部顶点,只删去了一部分边,则称为生成子图。
也就是:
后续第 章中的生成树,就是一种特殊的生成子图。
4. 导出子图
顶点导出子图
选定一个顶点集合 ,将这些顶点之间原来存在的边全部保留下来,得到 。
例如:
a ----- b| \ || \ |d ----- c取 。
那么导出子图必须保留 之间原有的全部边:
a ----- b \ | \ | c不能自行删掉其中某一条边。
5. 补图
对于无向简单图 ,保持顶点集不变,将原图中不存在的边补上,得到补图 。
原图和补图合并后,恰好得到完全图:
因此:
七、通路、回路、路径与圈
这一部分术语很容易混淆,需要逐层区分。
1. 通路
通路是顶点和边交替出现的序列:
其中,每条边 都连接相邻的两个顶点。
边的数量 称为通路的长度。
例如:
a ----- b ----- c ----- d从 到 的通路为 ,长度为 。
2. 回路
如果通路的起点与终点相同,则称为回路。
例如:
a ----- b \ / \ / c有一个回路 。
3. 简单通路与初级通路
按照课件的定义:
| 概念 | 条件 |
|---|---|
| 简单通路 | 各条边不重复 |
| 初级通路,也称路径 | 各顶点不重复,边也不重复 |
因此:
初级通路一定是简单通路,但简单通路不一定是初级通路。
例如:
a ----- b| / || / |d ----- c序列 中,边没有重复,但顶点 重复。
因此:
- 它是简单通路;
- 它不是初级通路。
4. 简单回路与初级回路
| 概念 | 条件 |
|---|---|
| 简单回路 | 边不重复 |
| 初级回路,也称圈 | 除起点与终点外,其余顶点不重复 |
例如, 是一个圈。
5. 复杂通路与复杂回路
只要某条边重复出现,就是复杂通路或复杂回路。
八、无向图的连通性
1. 连通
如果顶点 之间存在通路,则称它们连通,记作 。
如果任意两个顶点都连通,则整个图称为连通图。
例如:
a ----- b ----- c这是连通图。
而:
a ----- b c ----- d不是连通图。
2. 连通分支
非连通图可以拆分为若干个互不相连的部分,每一部分称为一个连通分支。
连通分支数记作 。
例如:
a ----- b c ----- d e有三个连通分支,因此 。
若图是连通图,则 。
3. 距离
两个连通顶点之间最短通路的长度,称为它们之间的距离,记作 。
例如:
a ----- b ----- c ----- d有 。
如果两个顶点不连通,则规定 。
距离满足:
- 当且仅当
最后一个不等式称为三角不等式。
九、割点、割边与连通度
这一部分研究的是图的“抗破坏能力”。
1. 割点
删除一个顶点,同时删除与它关联的所有边。如果图的连通分支数量增加,则该顶点称为割点。
例如:
a ----- b ----- c删除 后:
a c图从一个连通分支变成两个连通分支,因此 是割点。
2. 点割集
有时删除一个顶点还不足以破坏连通性,需要删除若干个顶点。
满足以下条件的顶点集合称为点割集:
- 删除它后,连通分支数增加;
- 但删除其中任意更小的真子集,都无法达到这一效果。
注意:
点割集强调的是“不能继续缩小”,而点连通度强调的是“所有点割集中规模最小”。
3. 点连通度
点连通度记作 。
它表示:
至少删除多少个顶点,才能使图不连通。
例如:
a ----- b ----- c删除 即可破坏连通性,因此 。
特殊情况:
| 图的情况 | 点连通度 |
|---|---|
| 非连通图 | |
| 单个孤立点 | |
| 存在割点 | |
| 完全图 |
4. 割边,也称桥
如果删除一条边后,图的连通分支数增加,则这条边称为割边或桥。
例如:
a ----- b ----- c两条边都是桥。
但是在三角形中:
a ----- b \ / \ / c删除任何一条边,剩余图仍然连通,因此没有桥。
5. 边连通度
边连通度记作 。
它表示:
至少删除多少条边,才能使图不连通。
若图中存在桥,则 。
6. 三个指标之间的关系
课件给出了重要结论:
其中:
- :点连通度;
- :边连通度;
- :最小度。
直观理解:
- 删除顶点时,会顺便删除该顶点周围的多条边,因此破坏能力通常更强;
- 找到一个度数最小的顶点,删掉它周围的全部边,至少可以将它孤立出来,因此边连通度不会超过最小度。
十、有向图的连通性
无向图只有“连通”和“不连通”两种主要情况。
有向图由于边具有方向,需要分成三种层次。
1. 可达与相互可达
如果从 出发,沿箭头方向能够走到 ,则称 可达 ,记作 。
如果 并且 ,则称二者相互可达,记作 。
2. 弱连通
如果去掉所有箭头后,基图是连通图,则有向图称为弱连通图。
例如:
a → b ← c虽然无法从 到达 ,但去掉箭头后:
a ----- b ----- c是连通的,所以原图弱连通。
3. 单向连通
如果任意两个顶点 之间,至少有一个方向可达,即 或 ,则称为单向连通图。
例如:
a → b → c它是单向连通图,因为:
但是 无法回到 ,因此不是强连通图。
4. 强连通
如果任意两个顶点之间都相互可达,即 ,则称为强连通图。
例如:
a → b↑ ↓└── c可以沿有向环在任意两个顶点之间移动,因此是强连通图。
5. 三种连通性的关系
有:
反方向通常不成立。
十一、图的矩阵表示
图形适合人观察,矩阵适合计算机处理。
课件介绍了四类矩阵:
- 无向图的关联矩阵;
- 有向图的关联矩阵;
- 有向图的邻接矩阵;
- 有向图的可达矩阵。
1. 无向图的关联矩阵
假设:
关联矩阵记作 。
其中:
- 若 是顶点 上的环,则 ;
- 若 与 关联,并且 不是环,则 ;
- 若 与 不关联,则 。
示例
v₁ ----- v₂ ----- v₃ e₁ e₂关联矩阵为:
e₁ e₂v₁ 1 0v₂ 1 1v₃ 0 1也可以写成 。
重要性质
- 每一列之和为 ;
- 第 行之和等于 ;
- 矩阵全部元素之和等于 ;
- 两列相同,当且仅当对应边是平行边;
- 某一行全为 ,当且仅当对应顶点是孤立点。
2. 有向图的关联矩阵
对于无环有向图,可以规定:
- 若 是边 的始点,则 ;
- 若 是边 的终点,则 ;
- 其他情况,。
例如:
v₁ → v₂ → v₃ e₁ e₂关联矩阵为:
e₁ e₂v₁ 1 0v₂ -1 1v₃ 0 -1也可以写成 。
重要性质:
- 每一列恰好有一个 和一个 ;
- 第 行中, 的个数是出度;
- 第 行中, 的个数是入度。
3. 有向图的邻接矩阵
邻接矩阵记作 。
其中, 表示从 指向 的边数。
例如:
v₁ → v₂ → v₃↑ |└───────────┘边为:
邻接矩阵为:
重要性质:
- 第 行之和等于 ;
- 第 列之和等于 ;
- 所有元素之和等于边数;
- 主对角线元素之和等于环的数量。
4. 可达矩阵
可达矩阵记作 。
其中:
- 若 可达 ,则 ;
- 若 不可达 ,则 。
由于规定每个顶点都可达自身,所以 。
因此,可达矩阵主对角线元素全部为 。
如果图是强连通图,则任意顶点都能到达其他顶点,因此 中的所有元素都为 。
十二、图的基本运算
1. 删除顶点
删除顶点 时,还必须删除与 关联的所有边,记作 。
2. 删除边
仅删除指定边,记作 。
3. 添加新边
在两个顶点之间加入一条新的边。
这在判断“加边后是否产生圈”时非常常见。
4. 收缩边
对于一条边 ,将 合并为一个顶点,并相应调整与它们关联的边,这称为收缩边。
十三、综合例题
考虑无向图:
a ----- b \ / \ / c ----- d边集为:
1. 顶点度数
因此:
顶点 是悬挂顶点。
2. 握手定理
有:
边数为 。
因此:
3. 通路与圈
从 到 有一条路径:
存在一个圈:
4. 连通性
任意两个顶点之间都有通路,因此图是连通图。
5. 割点
删除顶点 后:
a ----- b d顶点 被孤立出来。
因此, 是割点。
6. 割边
删除边 后,顶点 被孤立。
因此, 是一条桥。
7. 点连通度与边连通度
有:
因此:
在本例中,具体为:
十四、复习重点
第一层:必须熟练掌握
- 无向图与有向图的区别;
- 环、平行边、简单图和多重图;
- 顶点度数、入度和出度;
- 握手定理;
- 奇度顶点个数必为偶数;
- 通路、回路、路径和圈;
- 连通图与连通分支;
- 割点、割边;
- 强连通、单向连通和弱连通;
- 邻接矩阵、关联矩阵和可达矩阵。
第二层:需要理解并会判断
- 图的同构;
- 完全图、竞赛图和正则图;
- 子图、生成子图和导出子图;
- 补图;
- 点连通度与边连通度;
- 公式 。
第三层:为后续章节做准备
- 生成子图;
- 删除边与删除顶点;
- 圈与桥;
- 连通性;
- 矩阵表示。
第 章的树,本质上就是一种特殊的无向图:
连通且不含圈的无向图。
因此,第 章中“连通”“圈”“桥”“生成子图”等概念会频繁出现。