图论之欧拉回路

本文介绍了图论中的欧拉回路概念,起源于柯尼斯堡七桥问题。文章详细阐述了欧拉回路存在的充分必要条件,即连通无向图中每个顶点的度为偶数,并提供了构造欧拉图的方法。此外,还介绍了如何寻找欧拉回路,包括一种基于遍历轮次的算法,并分析了该算法的时间和空间复杂度。
摘要由CSDN通过智能技术生成

        小时候经常做的一个游戏,给定一个图,要求能够一笔画出来,一笔画问题是图论中的一个经典问题,起源于柯尼斯堡七桥问题:在一次穿过城镇的散步中,是否存在一条路径,通过柯尼斯堡城的七座桥,且每座桥有且仅有一次路过。



图1 柯尼斯堡七桥问题及其抽象出的图

        1736年,Euler证明了七桥问题是不可能实现的,给出了图中存在这种路径的充分必要条件,因此这种路径被称为Euler路径,如果Euler路径中的起点和终点一致,则称为Euler回路(Euler环)。

一、相关证明

        以下是关于Euler回路(Euler路径)的相关证明,摘自维基百科。

定理1:

        1、连通的无向图 G有欧拉路径的充要条件是:G中奇顶点(连接的边数量为奇数的顶点)的数目等于0或者2。

        2、连通的无向图 G 是欧拉(存在欧拉回路)的充要条件是:G中每个顶点的度都是偶数。

证明必要性:

        如果一个图能一笔画成,那么对每一个顶点,要么路径中“进入”这个点的边数等于“离开”这个点的边数:这时点的偶数。要么两者相差一:这时这个点必然是起点或终点之一。注意到有起点就必然有终点,因此奇顶点的数目要么是0,要么是2。

证明充分性:

        1、如果图中没有奇顶点,那么随便选一个点出发,连一个环C1。如果这个环就是原图,那么结束。如果不是,那么由于原图是连通的,C2 和原图的其它部分必然有公共顶点 s1。从这一点出发,在原图的剩余部分中重复上述步骤。由于原图是连通图,经过若干步后,全图被分为一些环。由于两个相连的环就是一个环,原来的图也就是一个欧拉环了。

        2、如果图中有两个奇顶点 u 和 v,那么加多一条边将它们连上后得到一个无奇顶点的连通图。由上知这个图是一个环,因此去掉新加的边后成为一条路径,起点和终点是 u 和v。

定理2:

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

证明:

        将这 2k个奇顶点分成 k对后分别连起,则得到一个无奇顶点的连通图。由上知这个图是一个环,因此去掉新加的边后至多成为k条欧拉路径,因此必然可以用k 笔画成。

假设全图可以分为 q条欧拉路径,则由定理一知,每条链中只有不多于两个奇顶点,于是 2q >= 2k。因此必定要k笔画成。

 

二、构造欧拉图</

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值