图论-欧拉图与哈密尔顿图.pptx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
欧拉图离散数学─图论初步南京大学计算机科学与技术系内容提要欧拉通路/回路欧拉图的充要条件构造欧拉回路的Fleury算法哈密尔顿通路/回路哈密尔顿图的必要和充分条件哈密尔顿图的应用K?nigsberg七桥问题问题的抽象:用顶点表示对象-“地块”用边表示对象之间的关系-“有桥相连”原问题等价于:“右边的图中是否存在包含每条边一次且恰好一次的回路?”AADDCC BB“一笔划”问题?欧拉通路和欧拉回路 定义:包含图(无向图或有向图)中每条边的简单通路称为欧拉通路。 注意:欧拉通路是简单通路(边不重复),但顶点可重复定义:包含图中每条边的简单回路称为欧拉回路。如果图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的情况:注意?G?2, G中必含简单回路,记为C,令G‘=G-EC, 设G’中含s个连通分支,显然,每个连通分支内各点均为偶数(包括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。由归纳假设,每个非平凡连通分支Gi均为欧拉图,设其欧拉回路是Ci。因G连通,故Ck+1与诸Ci’都有公共点。G中的欧拉回路构造如下:从Ck+1上任一点(设为v0)出发遍历Ck+1上的边,每当遇到一个尚未遍历的Ci与Ck+1的交点(设为vi), 则转而遍历Ci上的边,回到vi继续沿Ck+1进行。 关于欧拉图的等价命题设G是非平凡连通图,以下三个命题等价:(1) G是欧拉图。(2) G中每个顶点的度数均为偶数。(3) G中所有的边包含在相互没有公共边的简单回路中。半欧拉图的判定 设G是连通图,G是半欧拉图 当且仅当 G恰有两个奇度点。证明: ? 设P是G中的欧拉通路(非回路),设P的始点与终点分别是u,v, 则对G中任何一点x, 若x非u,v,则x的度数等于在P中出现次数的2倍,而u,v的度数则是它们分别在P中间位置出现的次数的两倍再加1。? 设G中两个奇度顶点是u,v, 则G+uv是欧拉图,设欧拉回路是C, 则C中含uv边,?C-uv是G中的欧拉通路。(这表明:如果试图一笔画出一个半欧拉图,必须以两个奇度顶点为始点和终点。) 构造欧拉回路 思想:在画欧拉回路时,已经经过的边不能再用。因此,在构造欧拉回路过程中的任何时刻,假设将已经经过的边删除,剩下的边必须仍在同一连通分支当中。构造欧拉回路-Fleury算法 算法:输入:欧拉图G输出:简单通路P = v0e1v1e2,…,eiviei+1,…,emvm, 其中包含了EG中所有的元素。1. 任取v0?VG, 令P0=v0;2. 设Pi=v0e1v1e2,…,eivi, 按下列原则从EG-{e1,e2,…,ei}中选择ei+1。(a) ei+1与vi相关联;(b) 除非别无选择,否则ei+1不应是G-{e1,e2,…,ei}中的割边。3. 反复执行第2步,直到无法执行时终止。 Fleury算法的证明算法的终止性显然。设算法终止时,Pm= v0e1v1e2,…,eiviei+1,…,emvm, 其中诸ei互异是显然的。只须证明:(1) Pm是回路,即v0=vm。(2) Pm包括了G中所有的边。令Gi=G-{e1,e2,…,ei}(1) (证明是回路)假设v0?vm。由算法终止条件,在Gm中已没有边与vm相关联。假设除最后一次外,vm在Pm中出现k次,则vm的度数是2k+1, 与G中顶点度数是偶数矛盾。 Fleury算法的证明(续)(2) (证明含所有边)假设Pm没有包括G中所有的边,令Gm中所有非零度顶点集合为S(非空), 令S =VG-S, 则vm?S。 考察序列e1,e2,…ej,ej+1,…,em。假设j是满足v

文档评论(0)

shujukd + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档