跳转至

第十二课:图论、树

Page 2 — 正则图

  • 所有顶点度数相同的图称为正则图
  • Kₙ是(n-1)-正则图

Page 3 — 子图

  • G₁=⟨V₁,E₁⟩, G₂=⟨V₂,E₂⟩
  • V₁⊆V₂且E₁⊆E₂ → G₁是G₂的子图
  • G₁≠G₂ → 真子图
  • 生成子图:V₁=V₂(顶点相同)

Page 4 — 补图

  • G₁和G₂互为补图:
  • V₁=V₂, E₁∩E₂=∅
  • ⟨V₁,E₁∪E₂⟩是完全图

Page 5-6 — 图的同构

  • |V₁|=|V₂|, |E₁|=|E₂|
  • 可通过对结点的置换使两图相同
  • 不同构的例子:乙醇CH₃CH₂OH vs 甲醚CH₃OCH₃(图论中的同分异构体)

Page 7-9 — 路径与通路

术语 定义
拟路径 顶点和边的序列(允许重复顶点和边)
路径(walk) 边各不相同的拟路径
通路(path) 顶点各不相同的路径
闭路径 起点=终点的路径
回路(cycle) 起点=终点的通路
  • 路径和通路定理:n个顶点的图中,若u到v有拟路径,则必有长度≤n-1的通路

Page 10 — 图的连通性

类型 定义
连通(无向图) 任意两顶点互相可达
强连通(有向图) 任意两顶点互相可达
单向连通(有向图) 至少一个方向可达
弱连通(有向图) 忽略方向后连通

Page 11 — 连通分支

  • 图G的最大连通子图G'

Page 12-14 — 欧拉图与哈密顿图 ⭐

欧拉图(边不重复,过所有边)

  • 欧拉图:存在经过所有顶点和所有边的闭路径
  • 欧拉路径:存在经过所有顶点和所有边的路径(不一定回路)

充要条件: | 图类型 | 欧拉图(回路)| 欧拉路径 | |--------|-------------|---------| | 无向图 | 连通 + 所有顶点度均为偶数 | 连通 + 恰两个奇数度顶点 | | 有向图 | 弱连通 + 每个顶点出度=入度 | 弱连通 + 恰一个顶点出度=入度+1,一个入度=出度+1 |

哈密顿图(顶点不重复,过所有顶点)

  • 哈密顿图:存在经过所有顶点的回路
  • 哈密顿通路:存在经过所有顶点的通路
  • 充分条件:n个顶点的图,每对顶点度数和≥n → 哈密顿图
  • NP完全问题——没有高效算法

💡 人话: - 欧拉图关心,问能不能"一笔画"走完所有边。条件是奇点数为0或2。 - 哈密顿图关心顶点,问能不能走完所有顶点不重复。是NP完全问题,没有好办法。

Page 16-19 — 邻接矩阵

  • 邻接矩阵A[G]:|V|×|V|的0-1矩阵
  • aᵢⱼ=1 ⟺ ⟨vᵢ,vⱼ⟩∈E
  • 有向图的邻接矩阵不一定对称
  • Aⁿ[i][j]:从vᵢ到vⱼ长度=n的路径数

Page 20-23 — 关联矩阵

  • 关联矩阵M[G]:|V|×|E|的矩阵
  • mᵢⱼ=1 ⟺ vᵢ是eⱼ的端点
  • 每列恰有两个1(无向边对应两个端点)

Page 28-37 — 二分图与匹配

  • 二分图:顶点可分成V₁和V₂,所有边都在V₁和V₂之间
  • 匹配:边集的子集,无公共顶点
  • 最大匹配:边数最多的匹配
  • 增广路算法:从未匹配顶点出发找增广路,取对称差扩大匹配
  • 应用:教师-课程分配问题

Page 38-41 — 平面图 ⭐

  • 平面图:边可以画得只在顶点处相交
  • K₅和K₃,₃都不是平面图
  • K₅是顶点数最少的非平面图
  • K₃,₃是边数最少的非平面图
  • Kuratowski定理(1930):G或其子图的同胚图不能以K₅或K₃,₃为子图

💡 人话:平面图就是能画在纸上不让边交叉的图。K₅(5个顶点全连接)和K₃,₃(3+3个顶点的完全二分图)是"最小"的不能画成平面图的图。

Page 42-46 — 树 ⭐

  • :连通无回路的无向图
  • 树叶:树中的悬挂点(度为1)
  • 分支点:度>1的节点
  • 森林:每个连通分支都是树

树的性质: - ✅ 简单图 - ✅ 二分图 - ✅ 平面图 - ⭐ |V| = |E| + 1(顶点比边多1) - 树中任意两顶点之间有唯一通路 - 任意连通图至少有一颗生成树(删回路上的边直到无回路)

根树: - 一个孤立节点v₀是根树 - T₁,...,Tₖ是根树,v₀是新根,连接v₀与各棵树根 → 新根树 - n元树:每个节点至多有n个子节点 - n元有序树:子节点规定了次序 - 二元有序树最常用:左子节点表示第一个子节点,右子节点表示下一个兄弟节点