欧拉图-南京大学计算机科学与技术系
欧拉图
离散数学─图论初步
南京大学计算机科学与技术系
内容提要
欧拉通路/ 回路
欧拉图的充要条件
半欧拉图的充要条件
构造欧拉回路的Fleury算法
随机欧拉图
中国邮递员问题
Königsberg七桥问题
问题的抽象:
用顶点表示对象-“地块”
用边表示对象之间的关系-“有桥相连”
原问题等价于:“右边的图中是否存在包含每条边
一次且恰好一次的回路?”
A A
D D
C
C
B
B
“一笔划”问题
?
欧拉通路和欧拉回路
定义:包含图 (无向图或有向图)中每条边的简单通
路称为欧拉通路。
注意:欧拉通路是简单通路 (边不重复),但顶点可重复
定义:包含图中每条边的简单回路称为欧拉回路。
如果图G 中含欧拉回路,则G称为欧拉图。如果图G 中
有欧拉通路,但没有欧拉回路,则G称为半欧拉图。
//备注:通常假设G是连通的。
欧拉图中的顶点度数
连通图G是欧拉图 当且仅当G中每个顶点的度数均
为偶数。
证明:
⇒设C是G中的欧拉回路,则∀v ∈VG, d(v)必等于v在C上出
现数的2倍(起点与终点看成出现一次) 。
⇐可以证明:
(1)G中所有的边可以分为若干边不相交的简单回路。
(2 )这些回路可以串成一个欧拉回路。
全偶度图中的回路
若图G中任一顶点均为偶度点,则G 中所有的边包含在若干
边不相交的简单回路中。
证明:对G的边数m施归纳法。
当m=1, G是环,结论成立。
对于k≥1,假设当m≤k时结论成立。
考虑m=k+1的情况:注意δ ≥2, G中必含简单回路,记为
G
C ,令G‘=G-E , 设G’ 中含s个连通分支,显然,每个连
C
通分支内各点均为偶数(包括0) ,且边数不大于k 。则根
据归纳假设,每个非平凡的连通分支中所有边含于没有
公共边的简单回路中,注意各连通分支以及C两两均无
公共边,于是,结论成立。
若干小回路串成欧拉回路
若连通图G中所有的边包含在若干边不相交的简单回路中,
则G中含欧拉回路。
证明:对G中简单回路个数d施归纳法。当d=1时显然。
假设d≤k(k≥1)时结论成立。考虑d=k+1.
按某种方式对k+1个简单回路排序,令G‘=G-E(Ck+1),设G’
中含s个连通分支,则每个非平凡分支所有的边包含在相互
没有公共边的简单回路中,且回路个数不大于k 。由归纳假
设,每个非平凡连通分支G 均为欧拉图,设其欧拉回路是
i
C '。因G连通,故C 与诸C ’都有公共点。
i k+1 i
G中的欧拉回路构造如下:从C 上任一点(设为v ) 出发遍