图论课件第四章欧拉图与哈密尔顿图精.ppt
《图论课件第四章欧拉图与哈密尔顿图精.ppt》由会员分享,可在线阅读,更多相关《图论课件第四章欧拉图与哈密尔顿图精.ppt(33页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、图论课件第四章欧拉图与哈密尔顿图1第1页,本讲稿共33页第四章第四章 欧拉图与哈密尔顿图欧拉图与哈密尔顿图主要内容主要内容一、欧拉图与中国邮路问题一、欧拉图与中国邮路问题二、哈密尔顿图二、哈密尔顿图三、度极大非哈密尔顿图与三、度极大非哈密尔顿图与TSP问题问题教学时数教学时数安排安排8学时讲授本章内容学时讲授本章内容四、超哈密尔顿图问题四、超哈密尔顿图问题2第2页,本讲稿共33页本次课主要内容本次课主要内容(一一)、欧拉图及其性质、欧拉图及其性质(二二)、Fleury算法算法(三三)、中国邮路问题、中国邮路问题欧拉图与中国邮路问题欧拉图与中国邮路问题3第3页,本讲稿共33页 1、欧拉图的概念、
2、欧拉图的概念(一一)、欧拉图及其性质、欧拉图及其性质 (1)、问题背景、问题背景-欧拉与哥尼斯堡七桥问题欧拉与哥尼斯堡七桥问题 结论:在一个点线连接的图形中,如果每个顶点关联偶结论:在一个点线连接的图形中,如果每个顶点关联偶数条边,并且点与点之间有路可行,则从某点出发,经过数条边,并且点与点之间有路可行,则从某点出发,经过每条边一次且仅一次,可以回到出发点。每条边一次且仅一次,可以回到出发点。4第4页,本讲稿共33页 哥尼斯堡城哥尼斯堡城(位于德国北部位于德国北部),在欧拉的生活与图论历史中在欧拉的生活与图论历史中扮演着非常重要角色。因为它,产生了著名的欧拉图定理,扮演着非常重要角色。因为它,
3、产生了著名的欧拉图定理,因为它,产生了图论。因为它,产生了图论。注:注:一笔画一笔画-中国中国古老的古老的民间游戏民间游戏 要求:对于一个图要求:对于一个图G,G,笔不离纸笔不离纸,一笔画成一笔画成.(2)、欧拉图概念、欧拉图概念 定义定义1 对于连通图对于连通图G,如果,如果G中存在经过每条边的闭迹,则中存在经过每条边的闭迹,则称称G为欧拉图,简称为欧拉图,简称G为为E图。欧拉闭迹又称为欧拉环游,或图。欧拉闭迹又称为欧拉环游,或欧拉回路。欧拉回路。欧拉图欧拉图41324132非欧拉图有非欧拉图有欧拉迹欧拉迹非欧拉图无非欧拉图无欧拉迹欧拉迹12345第5页,本讲稿共33页 2、欧拉图的性质、欧
4、拉图的性质 定理定理1 下列陈述对于非平凡连通图下列陈述对于非平凡连通图G是等价的:是等价的:(1)G是欧拉图;是欧拉图;(2)G的顶点度数为偶数;的顶点度数为偶数;(3)G的边集合能划分为圈。的边集合能划分为圈。证明证明:(1)(2)由由(1),设,设 C是欧拉图是欧拉图G的任一欧拉环游,的任一欧拉环游,v是是G中任意顶点,中任意顶点,v在环游中每出现一次,意味在在环游中每出现一次,意味在G中有两条不同边与中有两条不同边与v关联,所关联,所以,在以,在G中与中与v关联的边数为偶数,即关联的边数为偶数,即v的度数为偶数,由的度数为偶数,由v的任的任意性,即证明意性,即证明(2)。(2)(3)由
5、于由于G是连通非平凡的且每个顶点度数为偶数,所以是连通非平凡的且每个顶点度数为偶数,所以G中中至少存在圈至少存在圈C1,从从G中去掉中去掉C1中的边,得到中的边,得到G的生成的生成6第6页,本讲稿共33页子图子图G1,若若G1没有边,则没有边,则(3)成立。否则,成立。否则,G1的每个非平凡分支的每个非平凡分支是度数为偶数的连通图,于是又可以抽取一个圈。反复这样是度数为偶数的连通图,于是又可以抽取一个圈。反复这样抽取,抽取,E(G)最终划分为若干圈。最终划分为若干圈。(3)(1)设设C1是是G的边划分中的一个圈。若的边划分中的一个圈。若G仅由此圈组成,则仅由此圈组成,则G显显然是欧拉图。然是欧
6、拉图。否则,由于否则,由于G连通,所以,必然存在圈连通,所以,必然存在圈C2,它和它和C1有公共顶有公共顶点。于是,点。于是,C1CC2 2是一条含有是一条含有C C1 1与与C C2 2的边的欧拉闭迹,如此拼的边的欧拉闭迹,如此拼接下去,得到包含接下去,得到包含G G的所有边的一条欧拉闭迹。即证的所有边的一条欧拉闭迹。即证G G是欧是欧拉图。拉图。推论推论1 连通图连通图G是欧拉图当且仅当是欧拉图当且仅当G的顶点度数为偶。的顶点度数为偶。推论推论2 连通非欧拉图连通非欧拉图G存在欧拉迹当且仅当存在欧拉迹当且仅当G中只有两个顶点度中只有两个顶点度数为奇数。数为奇数。7第7页,本讲稿共33页 例
7、例1 下面图中谁是欧拉图?谁是非欧拉图但存在欧拉迹下面图中谁是欧拉图?谁是非欧拉图但存在欧拉迹?谁是非欧拉图且不存在欧拉迹?谁是非欧拉图且不存在欧拉迹?G1G2G3 解:解:G1是欧拉图;是欧拉图;G2是非欧拉图,但存在欧拉迹;是非欧拉图,但存在欧拉迹;G3中不存在中不存在欧拉迹。欧拉迹。例例2 证明:若证明:若G和和H是欧拉图,则是欧拉图,则 是欧拉图。是欧拉图。8第8页,本讲稿共33页 证明:首先证明:对任意证明:首先证明:对任意u V(G),v V(H),有:有:事实上,设事实上,设z是是u的任意一个邻点,一定有的任意一个邻点,一定有(u,v)的一个邻点的一个邻点(z,v),反之亦然。同
8、理,对于反之亦然。同理,对于v的任意一个邻点的任意一个邻点w,一定有,一定有(u,v)的一个邻点的一个邻点(u,w),反之亦然。即反之亦然。即:(u,v)在乘积图中邻点个数等在乘积图中邻点个数等于于u在在G中邻点个数与中邻点个数与v在在H中邻点个数之和。中邻点个数之和。所以,所以,G,H是欧拉图,那么是欧拉图,那么 顶点度数为偶数。顶点度数为偶数。其次证明:其次证明:是连通的。是连通的。由于由于G,H都是欧拉图,所以都连通。设最短的都是欧拉图,所以都连通。设最短的(u1,u2)路路9第9页,本讲稿共33页最短的最短的(v1,v2)路分别为:路分别为:那么,由乘积图的定义:在乘积图中有路:那么,
9、由乘积图的定义:在乘积图中有路:这样,我们证明了这样,我们证明了 是连通的且每个顶点度数为偶数。即它是是连通的且每个顶点度数为偶数。即它是欧拉图。欧拉图。(二二)、Fleury算法算法 该算法解决了在欧拉图中求出一条具体欧拉环游的方法。方该算法解决了在欧拉图中求出一条具体欧拉环游的方法。方法是尽可能避割边行走。法是尽可能避割边行走。1、算法算法 (1)、任意选择一个顶点任意选择一个顶点v0,置置w0=v0;10第10页,本讲稿共33页 (2)、假设迹假设迹wi=v0e1v1eivi已经选定,那么按下述方法从已经选定,那么按下述方法从E-e1,e2,ei中选取边中选取边ei+1:1)、ei+1与
10、与vi+1相关联;相关联;2)、除非没有别的边可选择,否则、除非没有别的边可选择,否则 ei+1不能是不能是 Gi=G-e1,e2,ei的割边。的割边。(3)、当当(2)不能执行时,算法停止。不能执行时,算法停止。例例3 在下面欧拉图在下面欧拉图G中求一条欧拉回路。中求一条欧拉回路。dcbafeg图图Ghji11第11页,本讲稿共33页 解:解:dcbafeg图图Ghji 例例4 某博物馆的一层布置如下图,其中边代表走廊,结点某博物馆的一层布置如下图,其中边代表走廊,结点e是入是入口,结点口,结点g是礼品店,通过是礼品店,通过g我们可以离开博物馆。请找出从博物我们可以离开博物馆。请找出从博物馆
11、馆e进入,经过每个走廊恰好一次,最后从进入,经过每个走廊恰好一次,最后从g处离开的路线。处离开的路线。afedcbihgj12第12页,本讲稿共33页 解:图中只有两个奇度顶点解:图中只有两个奇度顶点e和和g,因此存在起点为因此存在起点为e,终点为终点为g的欧拉迹。的欧拉迹。为了在为了在G中求出一条起点为中求出一条起点为e,终点为终点为g的欧拉迹,在的欧拉迹,在e和和g间添间添加一条平行边加一条平行边mafedcbihgjm 用用Fleury算法求出欧拉环游为:算法求出欧拉环游为:emgcfabchbdhgdjiejge 所以:解为:所以:解为:egjeijdghdbhcbafcg13第13页
12、,本讲稿共33页 证明:令证明:令Wn=v0e1v1envn为由为由Fleury算法得到的一条算法得到的一条G中迹。中迹。定理定理1 若若G是欧拉图,则是欧拉图,则G中任意用中任意用Fleury算法作出的迹都算法作出的迹都是是G的欧拉环游。的欧拉环游。2、算法证明、算法证明 由由Fleury算法,算法,dGn(vn)=0,所以,所以,vn=v0,否则否则,dGn(vn)为奇为奇 设设Wn 不是不是G的欧拉环游,于是可令:的欧拉环游,于是可令:容易知道:容易知道:14第14页,本讲稿共33页 令令vm是是Wn在在S中的最后一个顶点。中的最后一个顶点。vmvm+1vn 首先,首先,中边一定都是中边
13、一定都是Wn中边。若不然,设中边。若不然,设 设设e=uv,u S,那么,那么,dGn(v)0,矛盾!矛盾!其次,由其次,由vm是是Wn在在S中的最后一个顶点,知:中的最后一个顶点,知:15第15页,本讲稿共33页 即即em+1是是Gm的割边。的割边。设设e是是Gm中与中与vm关联的另外一条边。那么,由关联的另外一条边。那么,由F算法,它必然为算法,它必然为GmS的割边。的割边。但是,但是,GmS=GnS,所以,所以,GmS中每个点为偶数,从而没中每个点为偶数,从而没有割边,矛盾!有割边,矛盾!vmvm+1vne 3、算法复杂性分析、算法复杂性分析16第16页,本讲稿共33页 设设G=(n,m
14、)是欧拉图是欧拉图 由由Fleury算法知:算法需要算法知:算法需要m次循环;次循环;算法中主要运算是判断:算法中主要运算是判断:,该判断的时间复,该判断的时间复杂性是杂性是n2数量级的。数量级的。所以所以Fleury算法时间复杂性是:算法时间复杂性是:O(n2m),是好算法。是好算法。例例4 证明:若证明:若G有有2k0个奇数顶点,则存在个奇数顶点,则存在k条边不重的迹条边不重的迹Q1,Q2,Qk,使得:,使得:证明:不失一般性,只就证明:不失一般性,只就G是连通图进行证明。是连通图进行证明。17第17页,本讲稿共33页 设设G=(n,m)是连通图。令是连通图。令vl,v2,,vk,vk+1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课件 第四 章欧拉图 哈密尔顿
限制150内