| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1786 人关注过本帖
标题:谁理解欧拉路径的算法
只看楼主 加入收藏
Demon_JIE
Rank: 2
来 自:成都 西华大学
等 级:论坛游民
帖 子:26
专家分:39
注 册:2011-4-27
结帖率:100%
收藏
已结贴  问题点数:30 回复次数:2 
谁理解欧拉路径的算法
欧拉路径看了一晚上还是不能完全理解,各位同盟 有好的资料没啊
各位叔叔阿姨大哥大姐小弟小妹 先谢啦
搜索更多相关主题的帖子: 大哥 
2011-05-22 22:51
hys1986
Rank: 2
等 级:论坛游民
帖 子:9
专家分:21
注 册:2011-5-22
收藏
得分:15 
这个我觉得不要单纯看程序,就很晕的.直接看数学定理会很直观
我觉得WIKI上解释得很好

一笔画问题是柯尼斯堡问题经抽象化后的推广,是图遍历问题的一种。在柯尼斯堡问题中,如果将桥所连接的地区视为点,将每座桥视为一条边,那么问题将变成:对于一个有着四个顶点和七条边的连通图 G(S,E),能否找到一个恰好包含了所有的边,并且没有重复的路径。欧拉将这个问题推广为:对于一个给定的连通图,怎样判断是否存在着一个恰好包含了所有的边,并且没有重复的路径?这就是一笔画问题。用图论的术语来说,就是判断这个图是否是一个能够遍历完所有的边而没有重复。这样的图现称为欧拉图。这时遍历的路径称作欧拉路径(一个圈或者一条链),如果路径闭合(一个圈),则称为欧拉回路[1]。

一笔画问题的推广是多笔画问题,即对于不能一笔画的图,探讨最少能用多少笔来画成。
一笔画定理

对于一笔画问题,有两个判断的准则,它们都由欧拉提出并证明[1]。
[编辑] 定理一

有限图 G 是链或圈的充要条件是:G为连通图,且其中奇顶点的数目等于0或者2。有限连通图 G 是圈当且仅当它没有奇顶点[2]。

证明[2][3]:

    必要性:如果一个图能一笔画成,那么对每一个顶点,要么路径中“进入”这个点的边数等于“离开”这个点的边数:这时点的度为偶数。要么两者相差一:这时这个点必然是起点或终点之一。注意到有起点就必然有终点,因此奇顶点的数目要么是0,要么是2。
    充分性:
        如果图中没有奇顶点,那么随便选一个点出发,连一个圈 C1。如果这个圈就是原图,那么结束。如果不是,那么由于原图是连通的,C1 和原图的其它部分必然有公共顶点 s1。从这一点出发,在原图的剩余部分中重复上述步骤。由于原图是有限图,经过若干步后,全图被分为一些圈。由于两个相连的圈就是一个圈,原来的图也就是一个圈了。
        如果图中有两个奇顶点 u 和 v,那么加多一条边将它们连上后得到一个无奇顶点的有限连通图。由上知这个图是一个圈,因此去掉新加的边後成为一条链,起点和终点是 u 和 v。

[编辑] 定理二

如果有限连通图 G 有 2k 个奇顶点,那么它可以用 k 笔画成,并且至少要用 k 笔画成[2]。

证明[2][3]:将这 2k 个奇顶点分成 k 对後分别连起,则得到一个无奇顶点的有限连通图。由上知这个图是一个圈,因此去掉新加的边後至多成为 k 条链,因此必然可以用 k 笔画成。但是假设全图可以分为 q 条链,则由定理一知,每条链中只有两个奇顶点,于是 2q \ge 2k。因此必定要 k 笔画成。
2011-05-22 23:30
Toomj
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:257
专家分:1826
注 册:2011-5-17
收藏
得分:15 
求欧拉回路算法:G=<V,E>
(1)任取v0,令P0=v0,i=0;
(2)按下面的方法从E-{e1,e2,``````,ei}中选取ei+1:
a.ei+1与vi相关联;
b.除非无别的边可取,否则ei+1不应该为G'=G-{e1,e2,```,ei}中的桥;
(3)将边ei+1加入通路P0中,令P0=v0e1v1e2```eiviei+1vi+1,i=i+1;
(4)如果i=|E|,结束,否则转(2)。
2011-05-24 11:51
快速回复:谁理解欧拉路径的算法
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019826 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved