20欧拉图与哈密顿图

合集下载

欧拉图与哈密顿图

欧拉图与哈密顿图
哈密顿回路。
.
欧拉图与哈密顿图 1.2 哈密顿图及哈密顿通路
➢ 定义8.21
图G称为可2-着色(2-chromatic),
如果可用两种颜色给G的所有顶点着色, 使每个顶点着一种颜色,而同一边的两端点 必须着不同颜色。
.
欧拉图与哈密顿图 1.2 哈密顿图及哈密顿通路
✓ 定理8.16
设图G是可2-着色的。如果G是哈密顿 图,那么着两种颜色的顶点数目相等;如 果G有哈密顿通路,那么着两种颜色的顶点 数目之差至多为一。
✓定理8.14
设图G为具有n个顶点的简单无向图,如果G的 每一对顶点的度数之和都不小于n – 1 ,那么G中有 一条哈密顿通路;如果G的每一对顶点的度数之和 不小于n,且n≥3,那么G为一哈密顿图。
.
欧拉图与哈密顿图 1.2 哈密顿图及哈密顿通路
✓ 定理8.15
当n为不小于3的奇数时,
Kn上恰有 n 1 条互相均无任何公共边的 2
离散数学导论
.
欧拉图与哈密顿图 1.1欧拉图与欧拉路径
➢ 定义8.19
图G称为欧拉图(Euler graph),
如果图G上有一条经过G的所有顶点、所有
边的闭路径。图G称为欧拉路径(Euler
walk),如果图G上有一条经过G 所有顶点、所有边的路径。
.
欧拉图与哈密顿图 1.1欧拉图与欧拉路径
✓ 定理8.11
.
欧拉图与哈密顿图 1.2 哈密顿图及哈密顿通路
➢ 定义8.20
无向图G称为哈密顿图(Hamilton graph),
如果G上有一条经过所有顶点的回路
(也称这一回路为哈密顿回路)。称无向图有哈密顿 通路(非哈密顿图),如果G上有一条经过所有顶点的

欧拉图和哈密尔顿图

欧拉图和哈密尔顿图

例 “一笔划”问题——G中有欧拉 通路

实例
上图中,(1) ,(4) 为欧拉图
中国邮递员问题-模型
数学模型:
构造无向权图G,以道路为边,路长为权 问题的解 ——G 中包含所有边的回路权最小,称为 最优回路(未必是简单回路)。 当G是欧拉图,则最优回路即欧拉回路。
周游世界的游戏
1859 哈密尔顿 “周游世界”游戏: 20个城市,每个城市恰游一次,回到出发地

a
10 12 9
从a出发的“较好的”回路 , a
7
14Biblioteka b7 13 11d
6
c
8
e
5
b
14
a
c
5
6
8
长度:40
e
e
d
算法精度下限
设算法所得的回路长度为d, d0 是最小H_
回路的长度,G有n点,则

d / d0 ½ [ln(n)+1]+ ½
改进:
如果在已有回路中,W(vi,vj)+ W(vi+1,vj+1)< W(vi,vi+1)+ W(vj,vj+1),
货郎担/旅行推销员(TSP)问题:
在一个赋权的完全图中,找出一个具有最小权 的H_回路,也即回路边的权之和最小 对该赋权图上的边,满足三角不等式(距离不 等式) W(a,b) W(a,c) + W(c,b)
数学模型
构造无向带权图G, VG中的元素对应于每个城市, EG中每 个元素对应于城市之间的道路,道路长度用相应边的权表示。 则问题的解对应于G中包含所有边的权最小的哈密尔顿回路。 G是带权完全图,总共有n!/2条哈密尔顿回路。因此,问题 是如何从这n!/2条中找出最短的一条 eg:含20个顶点的完全图中不同的哈密尔顿回路有约6000万 亿条-(1.216451017)/2,若机械地检查,每秒处理10万条,需 2万年

欧拉图与哈密顿图

欧拉图与哈密顿图

例15.3 在图15.6中给出的三个图都是 二部图。它们中的那些是哈密顿图?哪些 是半哈密顿图?为什么? 解 在(1)中,易知互补顶点子集 V1={a,f},V2={b,c,d,e}。设此二部图为G1, 则G1=<V1,V2,E>. p(G1-V1)=4>|V1|=2,由 定理15.6及其推论可知,G1不是哈密顿 图,也不是半哈密顿图。
是在G'中存在u到v的路径Г2,显然Г1 与Г2边不重,这说明u,v处于Г1∪Г2 形成的简单回路上。
三、求欧拉图中欧拉回路的算法
设G为欧拉图,一般来说G中存 在若干条欧拉回路,下面介绍两种求 欧拉回路的算法。
1.Fleury算法,能不走桥就不走桥: (1)任取v0∈V(G),令P0=v0. (2)设Pi=v0e1v1e2…eivi已经行遍, 按下面方法来从E(G)-{e1,e2,…,ei}中选 取ei+1: (a)ei+1与vi相关联; (b)除非无别的边可供行遍, 否则ei+1不应该为Gi=G-{e1,e2,…,ei}中的 桥。 (3)当(2)不能再进行时,算法停止。
p(C-V1)达到最大值|V1|,而当V1中顶点在C 上有彼此相邻的情况时,均有p(C-V1)<|V1|, 所以有p(C-V1)≤|V1|.而C是G的生成子图, 所以,有p(G-V1)≤p(C-V1)≤|V1|. 本定理的条件是哈密顿图的必要条件, 但不是充分条件。可以验证彼得松图(图 14.3中(1)所示)满足定理中的条件,但 它不是哈密顿图。当然,若一个图不满足 定理中的条件,它一定不是哈密顿图。
2.逐步插入回路法 设G为n阶无向欧拉图,V(G)={v1,v2,…,vn}, 求G中欧拉回路的逐步插入回路法的算法如下: 开始 i←0,v*=v1,v=v1,P0=v1, G0=G. 1.在Gi中任取一条与V关联的边 e=(v,v'),将e及v’加入到Pi中得到Pi+1. 2.若v '=v*,转3,否则i←i+1,v=v' , 转1.

欧拉图和哈密尔顿图

欧拉图和哈密尔顿图

(b)中去掉结点u1和u2以后,p(G–{ u1,u2})=3, 由此 可以判定,这两个图都不是哈密尔顿图。
用正十二面体代表地球。游戏题的内容是:沿着正十二面体的棱寻
找一条旅行路线,通过每个城市恰好一次又回到出发城市。这便是 Hamilton回路问题。
欧拉回路是指不重复地走过所有路 径的回路,而哈密尔顿环是指不重复地
走过所有的点,并且最后还能回到起点的回 路
哈密尔顿图
定义:通过图G的每个结点一次且仅一次的环称为哈密尔顿环。 具有哈密尔顿环的图称为哈密尔顿图。通过图G的每个结点一次 且仅一次的开路称为哈密尔顿路。具有哈密尔顿路的图称为半哈 密尔顿图。
解一
a
a:说英语; b:说英语或西班牙语; C: 说英语,意大利语和俄语; d:说日语和西班牙语 e:说德语和意大利语; f:说法语、日语和俄语; g:说法语和德语.
b
d
c
e g
f
解 设7个人为7个结点, 将两个懂同一语言的人之间连一条边 (即他们能直接交谈), 这样就得到一个简单图G, 问题就转化为 G是否连通. 如图所示, 因为G的任意两个结点是连通的, 所以 G是连通图. 因此, 上述7个人中任意两个人能交谈.
欧拉图算法
int main() { memset(g,0,sizeof(g)); cin >> n >> e; for (i = 1; i <= e; i++) { cin >> x >> y; g[y][x] = g[x][y] = 1; du[x]++; //统计每个点的度 du[y]++; } start = 1; // 如果有奇点,就从奇点开始寻找,这样找到的就是 for (i = 1; i <= n; i++) // 欧拉路。没有奇点就从任意点开始, if (du[i]%2 == 1) // 这样找到的就是欧拉回路。(因为每一个点都是偶点) start = i; circuitpos = 0; find_circuit(start); for (i = 1; i <= circuitpos; i++) cout << circuit[i] << ' '; cout << endl; return 0; }

欧拉图于哈密顿图

欧拉图于哈密顿图
§15.1 欧拉图
一、历史背景--哥尼斯堡七桥问题
}
1
二、定义 欧拉通路 (欧拉迹) ——通过图中每条边一次 且仅一次,并且过每一顶点的通路。 欧拉回路 (欧拉闭迹) ——通过图中每条边一次 且仅一次,并且过每一顶点的回路。 欧拉图 ——存在欧拉回路的图。
}
2
三、无向图是否具有欧拉通路或回路的判定
(3) 具有哈密尔顿回路而没有欧拉回路,
解:
(4) 既没有欧拉回路,也没有哈密尔顿回路。
解:
}
14
作业
习题十五 2、11、14、15、20
}
15
余顶点的入度均等于出度, 这两个特殊的顶点中,一个 顶点的入度比出度大1,另一 个顶点的入度比出度小1。
D 有欧拉回路( D为欧拉图) D 连通, D 中所有
顶点的入度等于出度。
}
6
例3、判断以下有向图是否欧拉图。
}
7
§15.2 哈密尔顿图
一、问题的提出
1859年,英国数学家哈密尔顿,周游世界游戏。
(2)
解:是哈密尔顿图,
存在哈密尔顿回路和通路。
}
11
例1、判断下图是否具有哈密尔顿回路,通路。
(3)
解:不存在哈密尔顿回路,
也不存在哈密尔顿通路。
}
12
例2、画一个无向图,使它
(1) 具有欧拉回路和哈密尔顿回路,
解:
(2) 具有欧拉回路而没有哈密尔顿回路, 解:
}
13
例2、画一个无向图,使它
G 中只有两个奇度 G 有欧拉通路 G 连通,
顶点(它们分别是欧拉通路的
两个端点)。
G有欧拉回路( G为欧拉图) G 连通, G 中均

欧拉图与哈密顿_OK

欧拉图与哈密顿_OK
转化为图论问题:以城市为结点,两城市之间 的路为边,路程长度为边上的权,则问题转化为 在带权无向图G=<V,E,W>中找一个权和最小的 哈密尔顿回路。
37
例15.7 下图为4阶完全带权图,求出它的不同的哈密顿 回路,并指出最短的哈密顿回路。
解:求哈密顿回路可以从任何顶点出发。下面从a点出发, 并考虑顺时针与逆时针顺序不同的哈密顿回路。
解:将这8个人看为平面上的8个点,设为v1,v2,v3,v4,v5, v6,v7,v8。
如果vi和vj有共同语言,就在vi和vj之间连无向边(vi,v j)。
这样得到一个8阶无向简单图G。 viV,d(vi)为与vi有共同语言的人数。 由已知条件可知,vi,vjV且ij,均有d(vi)+d(vj)8。 由定理15.7的推论可知,G中存在哈密顿回路, 的设顺C序=v安i1v排i2座…次vi7即vi8可为。G中一条哈密顿回路,按这条回路
定理15.2(无向半欧拉图的判定)无向图G是半欧拉图当 且仅当G是连通图,且G中恰有两个奇度顶点。
(1)
(2)
(3)
6
判断所示两图是否为欧拉图、半欧拉图?
7
有向欧拉图与有向半欧拉图的判断方法
定理15.3 (有向欧拉图的判定)有向图D是欧拉图当且 仅当D是强连通的且每个顶点的入度都等于出度。
定理15.4(有向半欧拉图的判定)有向图D是半欧拉图 当且仅当D是单向连通的,且D中恰有两个奇度顶点, 其中一个的入度比出度大1,另一个的出度比入度大1, 而其余顶点的入度都等于出度。
这样可以得到另一可行方案:
这一方案中,重复边的权和为15,并且图中每个圈的 重复边的权和不大于该圈权和的一半。
35
课后练习:求下图所示的中国邮递员问题。

离散数学--第十五章 欧拉图和哈密顿图

离散数学--第十五章 欧拉图和哈密顿图
13
实例
在上图中, (1),(2) 是哈密顿图; (3)是半哈密顿图; (4)既不是哈密顿图,也不是半哈密顿图,为什么?
14
无向哈密顿图的一个必要条件
定理15.6 设无向图G=<V,E>是哈密顿图,对于任意V1V且 V1,均有 p(GV1) |V1|
证 设C为G中一条哈密顿回路。
当V1顶点在C上均不相邻时, p(CV1)达到最大值|V1|,
求图中1所示带权图k29主要内容欧拉通路欧拉回路欧拉图半欧拉图及其判别法哈密顿通路哈密顿回路哈密顿图半哈密顿图带权图货郎担问题基本要求深刻理解欧拉图半欧拉图的定义及判别定理深刻理解哈密顿图半哈密顿图的定义
第十五章 欧拉图与哈密顿图
主要内容
➢ 欧拉图 ➢ 哈密顿图 ➢ 带权图与货郎担问题
1
15.1 欧拉图
大时,计算量惊人地大
27
例6 求图中(1) 所示带权图K4中最短哈密顿回路.
(1)
(2)
解 C1= a b c d a,
W(C1)=10
C2= a b d c a,
W(C2)=11
C3= a c b d a,
W(C3)=9
可见C3
(见图中(2))
是最短的,其权为9. 28
第十五章 习题课
主要内容 欧拉通路、欧拉回路、欧拉图、半欧拉图及其判别法 哈密顿通路、哈密顿回路、哈密顿图、半哈密顿图 带权图、货郎担问题
点.
由vi 的任意性,结论为真. 充分性 对边数m做归纳法(第二数学归纳法). (1) m=1时,G为一个环,则G为欧拉图. (2) 设mk(k1)时结论为真,m=k+1时如下证明:
5
从以上证明不难看出:欧拉图是若干个边不重的圈之 并,见示意图3.

离散数学课件15欧拉图与哈密顿图

离散数学课件15欧拉图与哈密顿图

04
欧拉图与哈密顿图的应用 场景
欧拉图的应用场景
路径规划
欧拉图可以用于表示从一 个点到另一个点的路径, 常用于物流、交通和旅行 等领域。
网络流问题
欧拉图可以用于解决最大 流和最小割等问题,在网 络优化、资源分配和计划 制定等方面有广泛应用。
组合优化
欧拉图可以用于表示组合 优化问题,如旅行商问题、 排班问题等,是求解这些 问题的常用工具。
一个图存在哈密顿回路当且仅当其所有顶点的度都大于等于2 。
哈密顿图的性质
哈密顿图中的所有顶点的度都 大于等于2。
一个图存在哈密顿回路当且仅 当其所有顶点的度都大于等于2。回 路。
哈密顿图的构造方法
添加边法
在所有顶点的度都大于等于2的图 中,不断添加边,直到所有顶点的 度都大于等于2,最后得到的图就 是哈密顿图。
哈密顿图的应用场景
社交网络分析
哈密顿图可以用于表示社交网络 中的路径,分析人际关系和信息
传播路径。
生物信息学
哈密顿图可以用于表示基因组、蛋 白质组等生物信息数据,进行基因 序列比对、蛋白质相互作用分析等。
推荐系统
哈密顿图可以用于表示用户和物品 之间的关系,进行个性化推荐和智 能推荐。
欧拉图与哈密顿图在计算机科学中的应用
欧拉图的构造方法
欧拉图的构造方法1
总结词
通过添加一条边将所有顶点连接起来, 从而形成一个欧拉图。
详细描述了两种构造欧拉图的方法, 为实际应用中构造欧拉图提供了思路。
欧拉图的构造方法2
通过将两个欧拉图合并,并连接它们 的所有顶点,从而形成一个新的欧拉 图。
02
哈密顿图
哈密顿图的定义
哈密顿图(Hamiltonian Graph)是指一个图存在一个遍历其 所有边且每条边只遍历一次的路径,这个路径称为哈密顿路径, 如果该路径的起点和终点是同一点,则称这个路径为哈密顿回 路。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

例15.1
例15.1 设G是非平凡的且非环的欧拉图,证明: (1)λ(G)≥2。
(2)对于G中任意两个不同顶点u,v,都存在简单回路C含u和v。 证明 (1)由定理15.5可知,e∈E(G),存在圈C,e在C中, 因而p(G-e)=p(G),故e不是桥。 由e的任意性λ(G)≥2,即G是2边-连通图。 (2)u,v∈V(G),u≠v,由G的连通性可知,u,v之间必存在路径 Г1,设G =G-E(Г1),则在G 中u与v还必连通, 否则,u与v必处于G 的不同的连通分支中, 这说明在Г1上存在G中的桥,这与(1)矛盾。 于是在G 中存在u到v的路径Г2,显然Г1与Г2边不重, 这说明u,v处于Г1∪Г2形成的简单回路上。
举例
欧拉图
半欧拉图
无欧拉通路
欧拉图
无欧拉通路
无欧拉通路
无向欧拉图的判定定理
定理15.1 无向图G是欧拉图当且仅当G是连通图,且G中没有奇 度顶点。 证明 若G是平凡图,结论显然成立。 下面设G为非平凡图,设G是m条边的n阶无向图, 并设G的顶点集V={v1,v2,…,vn}。
必要性。因为G为欧拉图,所以G中存在欧拉回路,
定理15.7
下面证G中存在哈密顿通路。 设Г=v1v2…vl为G中用“扩大路径法”得到的“极大路径”, 即Г的始点v1与终点vl不与Г外的顶点相邻。显然有l≤n。 (1)若l=n,则Г为G中哈密顿通路。
(2)若l<n,这说明Г不是哈密顿通路,
即G中还存在着Г外的顶点。 但可以证明G中存在经过Г上所有顶点的圈。
离散数学
第15章 欧拉图与哈密顿图
本章内容
15.1 欧拉图 15.2 哈密顿图 15.3 带权图与货郎担问题 基本要求
作业
15.1 欧拉图
历史背景--哥尼斯堡七桥问题
欧拉图是一笔画出的边不重复的回路。
欧拉图
定义15.1 通过图(无向图或有向图)中所有边一次且仅一次 行遍图中所有顶点的通路称为欧拉通路,通过图中所有边 一次并且仅一次行遍所有顶点的回路称为欧拉回路。具有 欧拉回路的图称为欧拉图,具有欧拉通路而无欧拉回路的 图称为半欧拉图。 说明 欧拉通路是图中经过所有边的简单的生成通路(经过所 有顶点的通路称为生成通路)。 欧拉回路是经过所有边的简单的生成回路。
例15.3
设图为G2,则G2=<V1,V2,E>,其中 V1={a,g,h,i,c},V2={b,e,f,j,k,d}, 易知,p(G2-V1)=|V2|=6>|V1|=5, 由定理15.6可知,G2不是哈密顿图, 但G2是半哈密顿图。 baegjckhfid为G2中一条哈密顿通路。 设图为G3。G3=<V1,V2,E>,其中 V1={a,c,g,h,e},V2={b,d,i,j,f}, G3中存在哈密顿回路。 如 abcdgihjefa, 所以G3是哈密顿图。
对Г重复(a)~(c),在有限步内一定得到G的哈密顿通路。
定理15.7的推论
推论 设G为n(n≥3)阶无向简单图,若对于G中任意两个不相邻的 顶点vi,vj,均有
d(vi)+d(vj)≥n
推论
推论 设无向图G=<V,E>是半哈密顿图,对于任意的V1V且 V1≠,均有
p(G-V1)≤|V1|+1
证明 设P是G中起于u终于v的哈密顿通路, 令G =G∪(u,v)(在G的顶点u,v之间加新边), 易知G 为哈密顿图, 由定理15.6可知,p(G -V1)≤|V1|。
因此,p(G-V1) = p(G -V1-(u,v))
因为Г只有两个端点且不同,因而G中只有两个奇数顶点。
另外,G的连通性是显然的。
半欧拉图的判定定理
定理15.2 无向图G是半欧拉图当且仅当G是连通的,且G中恰有两 个奇度顶点。
证明 充分性。设G的两个奇度顶点分别为u0和v0,
对G加新边(u0,v0),得G =G∪(u0,v0), 则G 是连通且无奇度顶点的图, 由定理15.1可知,G 为欧拉图, 因而存在欧拉回路C ,而C=C -(u0,v0)为G中一条欧拉通路,
则G中存在哈密顿通路。 证明 首先证明G是连通图。 否则G至少有两个连通分支, 设G1,G2是阶数为n1,n2的两个连通分支,
(15.1)
设v1∈V(G1),v2∈V(G2),因为G是简单图,所以
dG(v1)+dG(v2)=dG1(v1)+dG2(v2)≤n1-1+n2-1≤n-2 这与(15.1)矛盾,所以G必为连通图。
例15.3的说明
哈密顿通路是经过图中所有顶点的一条初级通路。 哈密顿回路是经过图中所有顶点的初级回路。
对于二部图还能得出下面结论:
一般情况下,设二部图G=<V1,V2,E>,|V1|≤|V2|,且|V1|≥2 ,|V2|≥2,由定理15.6及其推论可以得出下面结论: (1) 若G是哈密顿图,则|V1|=|V2|。 (2) 若G是半哈密顿图,则|V2|=|V1|+1。
半欧拉图的判定定理
定理15.2 无向图G是半欧拉图当且仅当G是连通的,且G中恰有两 个奇度顶点。
证明 必要性。设G是m条边的n阶无向图,因为G为半欧拉图,
因而G中存在欧拉通路(但不存在欧拉回路), 设Г=vi0ej1vi1…vim-1ejmvim为G中一条欧拉通路,vi0≠vim。 v∈V(G),若v不在Г的端点出现,显然d(v)为偶数, 若v在端点出现过,则d(v)为奇数,
设C为G中任意一条欧拉回路,vi,vj∈V,vi,vj都在C上, 因而vi,vj连通,所以G为连通图。 又vi∈V,vi在C上每出现一次获得2度, 若出现k次就获得2k度,即d(vi)=2k, 所以G中无奇度顶点。
定理15.1的证明
充分性。由于G为非平凡的连通图可知,G中边数m≥1。 对m作归纳法。
哈密顿回路是生成的初级回路。
判断一个图是否为哈密顿图,就是判断能否将图中所有顶 点都放置在一个初级回路(圈)上,但这不是一件易事。 与判断一个图是否为欧拉图不一样,到目前为止,人们还 没有找到哈密顿图简单的充分必要条件。
例题
(1)(2)是哈密顿图。 (3)是半哈密顿图。 (4)既不是哈密顿图,也不是半哈密顿图。
于是,回路 C=v1v2…vir -1vlvlr -1…vi…virv1 过Г上的所有顶点。
定理15.7
(c)下面证明存在比Г更长的路径。 因为l<n,所以C外还有顶点,由G的连通性可知,
存在vl+1∈V(G)-V(C)与C上某顶点vt相邻,见下图所示。
删除边(vt-1,vt)得路径Г=vt-1…v1vir…vlvir-1…vtvl+1比Г长度大1, 对Г上的顶点重新排序,使其成为Г=v1v2…vlvl+1,
(1)m=1时,由G的连通性及无奇度顶点可知,
G只能是一个环,因而G为欧拉图。 (2)设m≤k(k≥1)时结论成立,要证明m=k+1时,结论也成立。 由G的连通性及无奇度顶点可知,δ(G)≥2。 无论G是否为简单图,都可以用扩大路径法证明G中必含圈。
定理15.1的证明
设C为G中一个圈,删除C上的全部边,得G的生成子图G , 设G 有s个连通分支G 1,G 2,…,G s, 每个连通分支至多有k条边,且无奇度顶点, 并且设G i与C的公共顶点为v*ji,i=1,2,…,s, 由归纳假设可知,G 1,G 2,…,G s都是欧拉图, 因而都存在欧拉回路C i,i=1,2,…,s。 最后将C还原(即将删除的边重新加上), 并从C上的某顶点vr开始行遍,每遇到v*ji,就行遍G i中的欧拉 回路C i,i=1,2,…,s,最后回到vr, 得回路vr…v*j1…v*j1…v*j2…v*j2…v*js…v*js…vr, 此回路经过G中每条边一次且仅一次并行遍G中所有顶点, 因而它是G中的欧拉回路(演示这条欧拉回路), 故G为欧拉图。
定理15.6
定理15.6 设无向图G=<V,E>是哈密顿图,对于任意V1V,且 V1≠,均有 p(G-V1)≤|V1| 其中,p(G-V1)为G-V1的连通分支数。 证明 设C为G中任意一条哈密顿回路, 易知,当V1中顶点在C上均不相邻时, p(C-V1)达到最大值|V1|, 而当V1中顶点在C上有彼此相邻的情况时, 均有p(C-V1)<|V1|,所以有 p(C-V1)≤|V1|。 而C是G的生成子图,所以,有p(G-V1)≤p(C-V1)≤|V1|。 说明 本定理的条件是哈密顿图的必要条件,但不是充分条件。 可以验证彼得松图满足定理中的条件,但不是哈密顿图。 若一个图不满足定理中的条件,它一定不是哈密顿图。
15.2 哈密顿图
历史背景:哈密顿周游世界问题与哈密顿图
哈密顿图
定义15.2 经过图(有向图或无向图)中所有顶点一次且仅一 次的通路称为哈密顿通路。经过图中所有顶点一次且仅一 次的回路称为哈密顿回路。具有哈密顿回路的图称为哈密 顿图,具有哈密顿通路但不具有哈密顿回路的图称为半哈 密顿图。平凡图是哈密顿图。 说明 哈密顿通路是图中生成的初级通路,
Fleury算法示例
例15.2
下图是给定的欧拉图G。某人用Fleury算法求G中的欧拉回路时 ,走了简单回路v2e2v3e3v4e14v9e10v2e1v1e8v8e9v2之后(观看他的 错误走法),无法行遍了,试分析在哪步他犯了错误? 解答 此人行遍v8时犯了能不走桥就不走桥 的错误,因而他没行遍出欧拉回路。 当他走到v8时,G-{e2,e3,e14,e10,e1,e8} 为下图所示。 此时e9为该图中的桥,而e7,e11均不是桥, 他不应该走e9,而应该走e7或e11,他没 有走,所以犯了错误。注意,此人在行 遍中,在v3遇到过桥e3,v1处遇到过桥 e8,但当时除桥外他无别的边可走,所 以当时均走了桥,这是不会犯错误的。
求欧拉图中欧拉回路的算法
Fleury算法,能不走桥就不走桥 (1) 任取v0∈V(G),令P0=v0。 (2) 设Pi=v0e1v1e2…eivi已经行遍,按下面方法来从 E(G)-{e1,e2,…,ei}中选取ei+1: (a) ei+1与vi相关联; (b) 除非无别的边可供行遍,否则ei+1不应该为 Gi=G-{e1,e2,…,ei}中的桥。 (3)当(2)不能再进行时,算法停止。 说明 可以证明,当算法停止时所得简单回路 Pm=v0e1v1e2…emvm(vm=v0) 为G中一条欧拉回路。
相关文档
最新文档