第十五章欧拉图与哈密顿图
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
由定理立刻可知,图中的三 个无向图中,只有()中无奇度顶点, 因而()是欧拉图,而()、()都 有奇度顶点,因而它们都不是欧拉图。
定理 : 无向图是半欧拉图当且仅 当是连通的,且中恰有两个奇度顶点。
证: 必要性 设是条边的阶无向图, 因为为半欧拉图,因而中存在欧拉通路
(但不存在欧拉回路),设 Г… 为中一条欧拉通路, ≠ .
二、判别定理
定理 无向图是欧拉图当且仅当是连 通图,且中没有奇度顶点。
证: 若是平凡图,结论显然成立, 下面设为非平凡图,设是条边的阶 无向图。并设的顶点集{,…}. 必要性: 因为为欧拉图,所以中存
在欧拉回路,设为中任意一条欧拉回路,
∈,都在上,因而连通 所以为连通图。又 ∈,在上每 出现一次获得度,若出现次就获得 度,即(),所以中无奇度顶点。
由定理立即可知,图中() 是半欧拉图,但()不是半欧拉图。
定理 有向图是欧拉图当且仅当 是强连通的且每个顶点的入度都等于出度。 本定理的证明类似于定理 .
定理 有向图是半欧拉图当且仅 当是单向连通的,且中恰有两个奇度 顶点,其中一个的入度比出度大,另一 个的出度比入度大,而其余顶点的入度 都等于出度。
,,…,由归纳假设可知,', ',…'都是欧拉图,因而都存在欧拉 回路‘,,….最后将还原(即将
删除的边重新加上),并从上的某顶点
开始行遍,每遇到 ,就行遍’ 中的 欧拉回路’ ,,…,最后回到,得 回路
… … … … … … …,
此回路经过中每条边一次且仅一次并行 遍中所有顶点,因而它是中的欧拉回 路 ,故为欧拉图。
可以证明,当算法停止时所得简单回路 …()为中一条欧拉回路。
例 图()是给定的欧拉图。某人用算法 求中的欧拉回路时, 走了简单回路 之 后(观看他的错误走法),无法行遍了,试 分析在哪步他犯了错误?
图
解: 此人行遍时犯了能不走桥就不 走桥的错误,因而他没行遍出欧拉回路。 当他走到时,{}为 图()所示。此时为该图中的桥, 而均不是桥,他不应该走,而应 该走或,他没有走,所以犯了错误。 注意,此人在行遍中,在遇到过桥, 处遇到过桥,但当时除桥外他无别的 边可走,所以当时均走了桥,这是不会犯 错误的。
本定理的证明可用归纳法。
例 设是非平凡的且非环的欧拉图, 证明:
λ()≥. ()对于中任意两个不同顶点, 都存在简单回路含和.
证 ()由定理可知, ∈(), 存在圈,在中,因而()(),故 不是桥。由的任意性λ()≥,即是 边连通图。
() ∈(),≠,由的连通 性可知,之间必存在路径Г,设 ' (Г),则在 '中与还必连通,否则, 与必处于 '的不同的连通分支中,这说明 在Г上存在中的桥,这与()矛盾。于
欧拉图与哈密顿图
欧拉图
一.欧拉通路、欧拉回路、欧拉图、半 欧拉图的定义
定义 通过图(无向图或有向图)中所 有边一次且仅一次行遍图中所有顶点 的通路称为欧拉通路,通过图中所有 边一次并且仅一次行遍所有顶点的回 路称为欧拉回路。具有欧拉回路的图 称为欧拉图,具有欧拉通路而无 欧拉回路的图称为半欧拉图。
图
由定理立即可知,图()图 为欧拉图,本图既可以看成圈, ,,之并(为 清晰起见,将个圈画在()中),也 可看成圈与圈 之并(两个圈画在()中)。将() 分解成若干个边不重的圈的并不是() 图特有的性质,任何欧拉图都有这个性 质。
定理 是非平凡的欧拉图当且仅 当是连通的且为若干个边不重的圈的并。
从定义不难看出,欧拉通路是图中经 过所有边的简单的生成通路(经过所有顶 点的通路称为生成通路),类似地,欧拉 回路是经过所有边的简单的生成回路。
在这里做个规定,即平凡图是欧拉图。
图
在图所示各图中,为 ()中的欧拉回路,所以()图为欧拉 图。为()中的一条欧拉通路, 但图中不存在欧拉回路,所以()为半欧 拉图。()中既没有欧拉回路,也没有欧 拉通路,所以()不是欧拉图,也不是半 欧拉图。为()图中的欧拉回路, 所以()图为欧拉图。(),()图中 都既没有欧拉回路,也没有欧拉通路
.逐步插入回路法
设为阶无向欧拉图,(){,…}, 求中欧拉回路的逐步插入回路法的算法如下:
←,*,,, .
.在中任取一条与关联的边 ('),将及’加入到中得到.
.若 '*,转,否则←' , 转.
.若()(),结束,否则,令 (),在中任取一条与 中某顶点关联的边,先将改 写成起点(终点)为的简单回路,再 置*, ←,转.
∈(),若不在Г的端点出现,显然 ()为偶数,若在端点出现过,则()为 奇数,因为Г只有两个端点且不同,因而 中只有两个奇数顶点。另外,的连通 性是显然的。
充分性: 设的两个奇度顶点分别 为 和,对加新边(),
得' ∪(),则'是连通且无奇度 顶点 的图,由定理可知,‘为欧拉 图,因而存在欧拉回路',而' () 为中一条欧拉通路,所以为半欧拉图。
现在再考虑例中图中图 (),用逐步插入回路法可以走出多 条欧拉回路。现在走出一条来:
开始时,置*,,,
,经过步得 ,
是长度为的简单回路,见演示中红边பைடு நூலகம்所示。
在中有条边与上的顶点相关联, 比如取与,先将改写成以为起点 (终点)的简单回路:
', 然后置*,,再经过步得
充分性: 由于为非平凡的连通图可 知,中边数≥.对作归纳法。
()时,由的连通性及无奇度顶 点可知,只能是一个环,因而为欧拉图。
()设≤(≥)时结论成立,要证明 时,结论也成立。由的连通性及
无奇度顶点可知,δ()≥.类似于例 ,用扩大路径法可以证明中存在 长度大于或等于的圈,设为中一个 圈,删除上的全部边,得的生成子 图’ ,设’有个连通分支’’,…, ‘,每个连通分支至多有条边,且无 奇度顶点,并且设‘与的公共顶点为
是在'中存在到的路径Г,显然Г 与Г边不重,这说明处于Г∪Г 形成的简单回路上。
三、求欧拉图中欧拉回路的算法
设为欧拉图,一般来说中存 在若干条欧拉回路,下面介绍两种求 欧拉回路的算法。
.算法,能不走桥就不走桥:
()任取∈(),令. ()设…已经行遍, 按下面方法来从(){,…}中选 取:
否则不应该为{,…}中的 桥。