3195 字
16 分钟
图论笔记——道路与回路
有向道路与有向回路(有向图)
- 有向道路: 有向图G中边序列 ,其中 满足: 是 的终点, 是 的始点,称边序列P是图G中的一条有向道路。
- 有向回路: 的终点也是 的始点,则称边序列P是图G中的一条有向回路。
- 简单有向道路/回路: P中边不重复出现。
- 初级有向道路/回路: P中结点不重复出现。
- 初级有向道路/回路一定是简单有向道路/回路。
道路与回路 (无向图)
- 道路/链: 无向图G中点边交替序列
- 满足: 和 是 的两个端点, 称序列P是图G中的一条链或道路。
- 回路/圈: 如果 则称序列P是G中的一个圈或回路。
- 简单道路/回路: P中边不重复出现。
- 初级道路/回路: P中结点不重复出现。
- 简单图的道路可用结点来表示。
其它相关定义
- 极大路径: P为一条初级道路,其始点与终点都不与P外的顶点相邻。 (路径: 初级道路)
- 短程线: 两结点间长度最短的道路。
- 距离: 短程线的长度 。
- 弦: 设C为简单图G中含结点数大于3的一个初级回路,如果结点 和 在C中不相邻,而边 ,则称 是C的一条弦。
- 若对每一个 ,都有 ,则G中必含有带弦的回路。
- 连通: 若无向图G的任意两个结点之间都存在道路,称G是连通的。
- (弱)连通: 对有向图G,若不考虑边的方向时是连通的,则称G是(弱)连通的。
- 单向连通图: 对有向图G,对任意 , 与 至少成立其一,则称G为单向连通图。
- 强连通图: 对有向图G,对任意 , 与 均成立,则称G为强连通图。
- 有向图G是强连通图当且仅当在G中存在经过每个顶点至少一次的回路。
- 连通支: 若G的连通子图H不是G的任何连通子图的真子图,称H是G的极大连通子图,或称连通支。
- G的每个连通支都是它的导出子图。
- 任何非连通图都是2个以上连通支的并。
- 割点: 设 是G的一个结点,若 的连通支数比G多,则称 是G的一个割点。(说人话就是删掉这个点,一个连通图变成两个了)
- 割边(也称作桥): 设 是G的一条边,若 的连通支数比G多,则称e是G的一个割边。(和割点的定义相似,把点换成边罢了)
二分图
- 二分图: 若 为无向图,如果 可划分成子集 和 ,使得G中每条边的两个结点一个属于 ,另一个属于 ,则称G是二分图。
- 完全二分图: 若 为简单二分图,如果 中的每个结点均与 中的所有结点相邻,则称G是完全二分图,记为 ,其中 。
- 性质: 如果二分图G中存在回路,则它们都是由偶数条边组成的。
- 二分图判别定理: 无向图G为二分图的充分必要条件是 G中无奇数条边组成的回路。
- 证明 (必要性): G为二分图 => 无奇数条边的回路
- a) 若G中无回路,显然G无奇数条边的回路。
- b) 若G中有回路,记为C,令 。不妨设 ,因为G为二分图,故 , ,依次最后 (因为 与 相邻),故 必为偶数 => 无奇数条边构成的回路。
- 证明 (充分性): 无奇数条边构成的回路 => 二分图
- 不妨设G为连通图: 为G中任意一点。定义两个集合:
- 且与 的距离为偶数}
- 且与 的距离为奇数}
- 显然: , , ,
- 只需证明 中任意两点不相邻且 中任意两点也不相邻。
- 反证法:若存在 且相邻,令 。 令 到 的短程线分别为 。 与 与e构成长度为奇数的回路,与条件矛盾,得证。
- 证明 (必要性): G为二分图 => 无奇数条边的回路
欧拉道路与回路
- 欧拉回路: 连通图G中一条经过所有边的简单回路。
- 欧拉图: 具有欧拉回路的图。
- 欧拉道路: 连通图G中一条经过所有边的简单道路。
- 欧拉半图: 具有欧拉道路但无欧拉回路的图。
欧拉图判定定理
- 定理1: 无向连通图G中存在欧拉回路的充要条件是 G中各结点的度都是偶数。
- 证明 (必要性): 令P是欧拉图G的欧拉回路。 当P经过任意一顶点时,该点总有进出两个方向的边; 每条边仅经过一次,所以每个顶点必是偶数度数。
- 证明 (充分性): 对图G的边数m进行归纳证明。
- 当 时,图G只能是个环,因此图G总是欧拉图。
- 假设当 时结论成立,证明 时结论也成立。
- 1). 连通图G顶点度数为偶数 => 图G中含有一条简单回路C;
- 2). 去掉简单回路C的边,生成p个连通分支 ,连通分支 边小于等于k且顶点度数为偶数 => 欧拉图;
- 3). 从C中任意一点出发,沿边走到与连通分支 的公共点 , 然后通过 的欧拉回路回到 ;;依次继续进行到另一个连通分支,最后到达出发点,得到G的欧拉回路。
- 定理2: 无向连通图G中存在欧拉道路(欧拉半图)的充要条件是 G中只有两个度为奇数的结点。
- 证明: 连接这两顶点,则有欧拉回路;再删去这条边。(欧拉道路的始点和终点必须选在奇数度点)
- 定理3: 有向连通图G是欧拉图的充分必要条件是图中各点的 入度和出度相等。
- 定理4: 有向连通图 G是欧拉半图的充分必要条件是图中至多有两个顶点,其中一个顶点的入度比出度多1,另一个顶点的出度比入度多1,其它顶点入度和出度相等。(这些都和无向图相关的条件相似)
寻找欧拉回路
- 逐步插入回路: 根据定理1中证明过程。
- Fleury 算法
- 基本思想: 能不走桥就不走桥。
- 输入: 欧拉图G
- (1) 任取 , 令 , ;
- (2) 令 。 如果 中没有与 关联的边,计算停止; 否则按下述条件从 中任取一条边 :
- (a) 与 相关联;
- (b) 除非无别的边可供选择,否则 不应该选 的桥。
- 设 ;
- (3) 令 ,返回(2).
哈密顿道路与回路
- 哈密顿回路(道路): 无向图G中的一条经过全部结点的 初级 回路(道路)。
- 哈密顿回路(道路): 简称为H回路(道路)。
- 哈密顿图: 具有H回路的图。
- 哈密顿半图: 具有H道路但无H回路的图。
H回路问题说明
- H回路是初级回路。
- 要求 。
- 只需考虑简单图,因为重边和自环不起作用。
- 完全图 中存在H回路。
- H回路的判定比较困难,没有发现充分必要的条件,只有若干充分条件。
判定定理与推论
H图的充分条件 (判定存在)
-
定理1: 若简单图 的任意两结点 与 之间恒有 , 则简单图G中存在H道路。
- 证明:
- (1) 首先证明G是连通图。 假设G非连通,有2个连通支 和 , 。 各取 和 ,则有 且 。 这与 矛盾。 所以图G是连通图。
- (2) 证明G中存在H道路 (寻找H道路)。
- 设 是G中一条 极大路径, 。 (极大路径: 始点 和终点 均不与P外的结点相邻)
- (a) 若 ,则P是为G中的H道路。
- (b) 若 , 则G中存在P外的结点。 需证G中存在过P上所有点的初级回路。
- 【1】若 与 相邻,即 为满足要求的初级回路。
- 【2】若 与 不相邻, 设 与P上k个结点 相邻。
- (若 , 则 , , ,矛盾。 故 。)
- 设 与P上的 相邻 ()。
- 至少与 之一相邻。
- 否则,由 , 。
- ,矛盾。
- 设 与 相邻 。
- 则存在初级回路 。
- (c) 证明存在比P更长的路径。
- 由G的连通性知,存在 与P上的某结点 相邻。
- 当 时,删除边 。
- 路径
- 构造比P长度大1的路径。
- 当 时,类似构造。
- 重复上面步骤(2),直至 ,可得出图G的H道路。
- 证明:
-
推论1: 若简单图 的任意两结点 与 都满足 ,则图G中存在H回路。
- 证明: 由定理1可知,图G中存在哈密顿道路,记为 。
- (1) 若 相邻,即 ,则 定为H回路;
- (2) 若 不相邻, 按照定理1的证明方法(b), ( ), 可得存在过P上各结点的初级回路,即H回路。 (回路 )
-
推论2: 若简单图 的任一结点的度大于等于 , 则G中存在H回路。
- 证明: 推论1的直接结果。
- 示例: 判断 是否有H回路? , 。所有结点的度 。 满足推论2, 存在H回路。
-
引理1: 若简单图 有不相邻结点 与 满足 ,则G存在H回路当且仅当 有H回路。
- 证明:
- (必要性) G存在H回路则 存在H 回路,显然成立。
- (充分性) 证明当 有H回路时,G存在H回路。
- 反证法: 假设G无H回路。
- 则 的H回路必经过边 。
- 删除 中存在以 为端点的H道路(极大路径)。
- G无H回路即无初级回路两个端点的度满足 (第12页辅助结论)。
- 这与引理条件 矛盾,得证。
- 证明:
-
闭合图: 若 和 是简单图G的不相邻结点,且满足 ,则令 ,对G’重复上述过程,直至不再有这样的结点对为止。最终得到的图称为G的闭合图,记作 。
-
引理2: 简单图G的闭合图是唯一的。
-
引理3: 简单图G有H回路当且仅当 有H回路。
- 证明: 设 , 。
- G有H回路 有H回路 有H回路 有H回路。
-
推论3: 若 ,则G有H回路。
H图的必要条件 (判定不存在)
- 定理2: 设G是哈密顿图,则对任意的非空点集 ,图 中的连通支数不大于 。
- 证明: 设C为G的任意一条哈密顿回路。
- 若 中结点在C中互不相邻, 的连通支达到最大 。
- 若 中结点在C中有相邻, 的连通支小于 。
- 所以, 的连通支不大于 。
- 又因为C是G的支撑子图, 则 的连通支小于等于 的连通支数。
- 定理2推论: 奇数个结点构成的二分图不是哈密顿图。
- 示例 (推论应用): 判断右图是否为哈密顿图? (一个13个结点的二分图)
- 该图为二分图, 结点集 (), ()。
- 总结点数为 13 (奇数)。
- 奇数个结点的二分图不是哈密顿图。
- 推论4: 设G是哈密顿半图,则对任意的非空点集 ,图 中的连通支数不大于 。
- 示例:判断 H图 or H半图
- 图1: 令 ,则 。 中的连通支数为4 (结点1, 2, 3, 4)。 4 > 。因此该图不是H半图,也不是H图。
- 图2: 令 ,则 。 中的连通支数为6 (结点1, 2, 3, 4, 5, 6)。 。 满足H半图的必要条件 (不排除是H半图)。
- 示例:判断 H图 or H半图
部分信息可能已经过时