6.1 基本概念Basic Notions
本页为译文 + 高中讲解合一:黑色正文为忠实翻译;彩色框(目标 / 定义 / 例 / 分步推演 / 自测)与配图为面向高中生的详解,逐步推演、举例、画图,不用比喻。
图、邻居与度
一个图(graph)\(G=G(V,E)\) 由一个有限的顶点集 \(V\)(顶点也称点 points、结点 nodes)和一个有限的边集 \(E\) 组成,其中每条边都是由两个不同顶点构成的一个无序对 \(\{a,b\}\)(因此我们不允许出现自环 loop)。
- 无序对:边 \(\{a,b\}\) 与 \(\{b,a\}\) 是同一条边——线没有方向。
- 两个不同顶点:边的两个端点必须是不一样的点,所以不会有一个点连到它自己(那种连法叫自环,本书禁止)。
- 有限:点和边的数量都是有限个,能一个一个数清楚。
若 \(\{a,b\}\in E\),我们就说两个顶点 \(a\) 与 \(b\) 是相邻的(adjacent)或互为邻居(neighbors)。\(a\) 的全体邻居所构成的集合记作 \(N(a)\)。集合 \(N(a)\) 的元素个数称为 \(a\) 的度(degree),记作 \(\deg(a)\)。
- \(b\) 的邻居有谁?凡是与 \(b\) 连了线的点:\(a,c,d\)。所以 \(N(b)=\{a,c,d\}\),\(\deg(b)=3\)。
- \(N(a)=\{b,c\}\),\(\deg(a)=2\);\(N(e)=\{d\}\),\(\deg(e)=1\)。
- 度就是“从这个点伸出几条线”。数线即可,不用别的技巧。
导出子图与独立集
考虑 \(V\) 的一个子集 \(V'\)。我们把图 \(G'=G'(V',E')\) 称为 \(G\) 中由 \(V'\) 张成的导出子图(induced subgraph spanned by \(V'\)),其中
\[E':=\{e\in E:\ e\subseteq V'\}.\]一个集合 \(V'\subset V\) 称为独立的(independent),如果它张成的是一个空图,也就是说:不存在两个端点都落在 \(V'\) 里的边。
- 试 \(V'=\{a,e\}\):\(a\) 与 \(e\) 之间有没有边?没有。所以 \(\{a,e\}\) 张成空图,是独立集。
- 试 \(V'=\{a,b\}\):\(\{a,b\}\) 是一条边,端点都在 \(V'\) 里。张成的图非空,所以不是独立集。
- 记忆要点:独立集就是“内部互不相连的一堆点”——任意两点之间都没有边。
路径、圈与三角形
我们说顶点 \(a_0,\dots,a_k\) 构成一条长度为 \(k\) 的路径(path of length \(k\)),如果对所有 \(0\le i\le k-1\),\(\{a_i,a_{i+1}\}\) 都是一条边。若 \(a_k=a_0\),我们就把这条路径称为一个圈(cycle)。三个顶点 \(a,b,c\) 构成一个三角形(triangle),如果它们构成一个长度为 \(3\) 的圈,也就是说 \(\{a,b\}\)、\(\{b,c\}\) 和 \(\{c,a\}\) 都是边。
二部图
一个图称为二部的(bipartite),如果可以把它的顶点集划分成两个不相交的集合 \(A\) 与 \(B\),使得每一条边都有一个端点在 \(A\) 中、另一个端点在 \(B\) 中;\(A\) 与 \(B\) 称为 \(G\) 的颜色类(color classes)。二部图在后续内容中扮演重要角色,处理它们时,我们更愿意采用记号 \(G(A,B,E)\) 而不是 \(G(V,E)\)。
注意,在一个二部图 \(G=G(A,B,E)\) 中,同一颜色类里的两个顶点只能由偶数长度的路径相连,而不同颜色类里的顶点只能由奇数长度的路径相连。特别地,所有的圈都必定是偶数长度。
- 从 \(A\) 出发。走 1 步到 \(B\),走 2 步回 \(A\),走 3 步到 \(B\),走 4 步回 \(A\)……
- 规律:走偶数步后仍在出发的那一类(同色),走奇数步后在另一类(异色)。
- 所以:同色两点之间的路径长度必为偶数;异色两点之间必为奇数。
- 圈是“回到起点”,起点终点同色,由上一条,圈长必为偶数。♦
习题
- 证明对所有 \(v\in Z\) 都有 \(\deg(v)=|A|\);
- 证明两点 \(v,w\in Z\) 由一条长度为 \(n\) 的路径相连,当且仅当 \(v-w\in n(A)\)(这里 \(n(A)\) 指 \(A\) 的 \(n\) 重和集);
- 证明 \(G\) 是连通的,当且仅当 \(A\) 张成 \(Z\)(即 \(A\) 的各重和集最终覆盖整个 \(Z\))。
返回 全书目录