Fleury (弗罗莱) 算法通俗解释

原创 2014年12月23日 17:19:50

Fleury (弗罗莱) 算法通俗解释

1.定义


2.举例说明

图2为连通图G,现利用Fleury算法求它的欧拉通路。(注意区分:欧拉通路、欧拉回路)


其中一种欧拉通路如下:4 5 8 7 6 8 9 1 5 3 2 4 6,其搜索路径如下图所示:


现在让我们来分析算法实现过程:

         假设我们这样走:4,6,8,5,此时在5处有三种选择(3,4,1),那么哪种能走通哪种走不通呢?答案是(3,4)通,1不通。为什么呢?来看下图…


分析:

         因为(5~1)之间的边是除去已走过边(E(G)-{E1(4~6),E2(6~8),E3(8~5)})图G的一个桥,所谓桥即去掉该边后,剩下的所有顶点将不能够连通,即无法构成连通图。

而选择(5~3)和(5~4)则满足定义中第二条(b)中的要求。当然当(5~3)和(5~4)都不存在,即定义中所说“除非无别的边可供选择时”,此时就就可以选择(5~1),其他情况下一定要优先选择非桥的边,否则就可能出现无法走通的情况。也就是说该搜索方法无法构成欧拉通路。如下图是选择(5~1)的后果:


而(5~3)和(5~4)则可以顺利完成欧拉图通路的搜索,具体算法实现网上很多,不是本文讨论重点。相信有了算法思想,算法的实现应该不难,有时间我会完善代码。

另外:譬如洒水车问题也是利用欧拉通路解决的经典问题。

参考文章:http://www.cnblogs.com/Lyush/archive/2013/04/22/3036659.html

 

Fleury算法求欧拉回路(一)

求解欧拉回路,是《离散数学》中的一个算法,一共有两种算法,一种是Fleury算法,另外一种是逐步插入回路法, 本文讲的是Fleury算法,是一个教你如何用最简单的数组去实现这个算法,代码中没有任何的栈...
  • p011235
  • p011235
  • 2015年09月27日 22:53
  • 4303

弗罗莱(Fleury)算法 欧拉(Euler)通路/回路

1、基本概念: (1)欧拉图的基本概念: 欧拉通路 (欧拉迹):通过图中每条边一次且仅一次,并且过每一顶点的通路。 欧拉回路 (欧拉闭迹):通过图中每条边一次且仅一次,并且过每一顶点的回路。...
  • zyy617532750
  • zyy617532750
  • 2016年03月25日 16:37
  • 2436

欧拉回路的求解(dfs和fleury算法)

欧拉回路的求解 欧拉回路的求解主要有两种方法:DFS 搜索及Fleury(佛罗莱)算法。本节分别介绍这两种方法。 DFS 搜索求解欧拉回路 用DFS 搜索思想求解欧拉回路的思路为:利用欧拉定理判断出一...
  • u011466175
  • u011466175
  • 2014年01月29日 11:40
  • 5409

欧拉回路的判定(Fleury算法)

定理: (一)一个图有欧拉回路当且仅当它是连通的且每个顶点都有偶数度。 (二)一个图有欧拉通路当且经当它是连通的且除两个顶点外,其他顶点都有偶数度。 在第二个定理下,含奇数度的两个节点中,一个必为欧拉...
  • KIJamesQi
  • KIJamesQi
  • 2015年09月21日 15:00
  • 1735

欧拉路 (Fleury算法)

欧拉路 就是 一条路径,它满足这样的条件,走过图中的每条边,顶点经过次数不限。 下面说一下关于欧拉路的定理,说来惭愧,殷剑宏老师教的离散数学几乎都忘光了,现在用到的时候才翻开课本,发现全是书上的定理...
  • Jaster_wisdom
  • Jaster_wisdom
  • 2016年04月05日 19:07
  • 1247

fleury算法求欧拉路径(欧拉回路)模板

欧拉回路
  • ztzshiwo_cnyali
  • ztzshiwo_cnyali
  • 2016年08月11日 19:40
  • 627

fleury算法输出欧拉回路

1、定义: 欧拉通路(回路):通过图(无向图或有向图)中所有边一次且仅一次行遍图中所有顶点的     通路(回路)称为欧拉通路(回路)。 欧拉图与半欧拉图:具有欧拉回路的图称为欧拉图,具有欧拉通...
  • lanjiangzhou
  • lanjiangzhou
  • 2013年06月14日 19:47
  • 3246

浅谈Fleury(佛罗莱)算法 欧拉回路(及路径)

首先复习一下欧拉回路(及路径)的几个基础概念与定理 FirstFirst 欧拉回路:是指所有的边都只经过一次且仅一次,并且要走回到出发点的一条路径 欧拉路径:表示一条不需要回到出发点,但是必...
  • NOIAu
  • NOIAu
  • 2017年10月11日 15:07
  • 555

弗罗莱(fleury)算法-欧拉回路生成算法

弗罗莱算法是生成欧拉回路的算法之一,今天在
  • zjx409
  • zjx409
  • 2014年04月08日 22:57
  • 4510

弗罗莱(Fleury)算法,求欧拉(Euler)通路/回路

1、基本概念: (1)定义 欧拉通路 (欧拉迹)—通过图中每条边一次且仅一次,并且过每一顶点的通路。 欧拉回路 (欧拉闭迹)—通过图中每条边一次且仅一次,并且过每一顶点的回路。 欧拉图—存在欧...
  • niushuai666
  • niushuai666
  • 2011年06月16日 18:01
  • 8666
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Fleury (弗罗莱) 算法通俗解释
举报原因:
原因补充:

(最多只允许输入30个字)