第5-4课:欧拉图与弗罗莱(Fleury)算法

本文介绍了欧拉图和欧拉回路的概念,它们源于哥尼斯堡七桥问题。一个无向图是欧拉图的条件是每个顶点的度数为偶数。此外,文章详细讲解了如何判断无向图是否为欧拉图,以及弗罗莱(Fleury)算法用于寻找欧拉回路的原理和实现。文章通过图示和伪代码帮助理解,并提供了源码下载链接供读者实践。

很多人都玩过“一笔画”游戏,能一笔画成的图要么是所有点的连接边数都是偶数的情况,要么是连接边数是奇数的点有且只有两个的情况,第一种情况从任何点开始都可以完成一笔画,第二种情况只能从其中一个奇数点开始到另一个奇数点结束才能一笔画成。它的原理就是我们这一课要介绍的欧拉图(Euler)和欧拉回路(Euler Circuits),从图论的角度看,有向图和无向图都有欧拉回路的概念,但是判定的方法不一样,这一课来介绍欧拉图、欧拉图的判定和用弗罗莱(Fleury)算法求欧拉回路的相关算法。

欧拉图和欧拉回路

对欧拉图的研究起源于著名的哥尼斯堡七桥问题,如图(1-a)所示,哥尼斯堡有七座桥连接一条河两岸的陆地和河中间的两个小岛,传说哥尼斯堡的居民最喜爱的消遣活动就是一次性走过这七座桥但不重复,不过好像谁也没有成功过。1736 年,欧拉将图(1-a)中的陆地抽象为一个顶点,将桥抽象为连接顶点的边,就得到了一个类似图(1-b)的无向图。欧拉最终在他的论文中证明了“存在从任意点出发,经过所有边恰好一次,并最终回到出发顶点的走法的充分必要条件是:每个顶点的度均为偶数”。显然,哥尼斯堡七桥问题不满足这个条件。

120d0c60-f6a2-11e8-894f-2d4c947f092d

图(1)哥尼斯堡七桥问题示意图

后来,人们把一个图中经过每条边有且仅有一次的回路称为欧拉回路,把含有欧拉回路的图称为欧拉图。无向图中存在欧拉回路的条件是每个顶点的度数都是偶数,有向图中存在欧拉回路的条件是每个顶点的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王晓华-吹泡泡的小猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值