前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >五分钟小知识之有趣的「欧拉回路」

五分钟小知识之有趣的「欧拉回路」

作者头像
五分钟学算法
发布2019-05-21 15:29:24
8930
发布2019-05-21 15:29:24
举报
文章被收录于专栏:五分钟学算法五分钟学算法

1 七桥问题

当时东普鲁士科尼斯堡(今日俄罗斯加里宁格勒)市区跨普列戈利亚河两岸,河中心有两个小岛。小岛与河的两岸有七条桥连接。在所有桥都只能走一遍的前提下,如何才能把这个地方所有的桥都走遍?

2 问题解决

著名数学家欧拉用 A,B,C,D 四个字母代表陆地,作为图的 4 个顶点,将连接两块陆地的桥作为边,将七桥问题转为数据结构中的图问题。由此得到的图如下:

通过将实际问题转为数据结构图论问题,将问题转换为:是否存在每条边只经过一次,且经过所有顶点的回路问题。对于此问题采用欧拉回路的思想去求解。

3 重要概念

通路:图G(v,e)中顶点与边交替出现的序列称为通路,记作:

L = v0,e1,v1,e2,···en,vn

其中通路 L 中边 e 的数目记作 L 的长度。

回路:在通路中,若v0 = vn,则此通路称为回路。

简单通路:在通路L中,所有的边 e1,e2 ··,en 互不相同。

简单回路:在回路中,所有的边e1,e2···,en互不相同。  

初级通路:所有顶点v0,v1,v2···,vn互不相同的通路

初级回路:所有顶点v0,v1,v2···,vn互不相同的回路

连通图:若图G(v,e)中任意两个顶点都是连通的,则G(v,e)是连通图,否则,G(v,e)为非连通图。

欧拉通路:经过图G(v,e)的每条边一次,且仅仅一次的通路称为欧拉通路,也称为欧拉迹。

欧拉回路:经过图G(v,e)的每条边一次,且仅仅一次的回路称为欧拉回路,也称为欧拉闭迹。

欧拉图:具有欧拉回路的图称为欧拉图。

4 判定

•若图 G 为连通图,且图中又两个顶点的度为奇数,则图 G 具有欧拉通路,且以两个奇度顶点为端点。•若图 G 为连通图,且没有奇度顶点,则图 G 具有欧拉回路。•若图 G 为连通图,且有 2k 个奇度顶点,则图需要用 k 笔画成,且至少需要k笔才能画成。

5 例题分析

5.1 七桥问题解决

由图 2.1 可以看出,七桥问题的图 G 中存在 4 个奇度顶点,则此图需要 2 笔才能画成,不存在欧拉回路和欧拉通路。因此若要遍历图,必然要经过重复的边。

5.2 遍历房间问题

如下图所示的一幢房屋的平面图,由前门进入到达客厅,由客厅可以通向四个卧室,请问是否能够从前门进入,通过所有的门,走遍客厅和 4 个卧室,最后从后门走出。

问题分析:将 5 个房间以及前门后门外的地方均作为顶点,有门相通则表示顶点邻接,得到图 G,如下图所示:

图 G 中,奇度顶点的数目是 4,故图 G 不是欧拉通路,因此答案是否定的。

5.3 一笔画

一笔画问题是欧拉图的典型应用。例如如下图形,是否可以用一笔画成。

观察图中的奇度顶点共有 8 个,因此图需要 4 笔才能画成。

观察图中的奇度顶点共有 2 个,则此图可以 1 笔画成,且图存在欧拉通路,通路的端点即为奇点度数为 5 的顶点。

END

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-05-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 五分钟学算法 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 七桥问题
  • 2 问题解决
  • 3 重要概念
  • 4 判定
  • 5 例题分析
  • 5.1 七桥问题解决
  • 5.2 遍历房间问题
  • 5.3 一笔画
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档