有关欧拉通路/回路的一些资料整理

这两天看了下欧拉回路,整理下资料,以备以后回顾。

1.欧拉回路,欧拉通路,欧拉图

无向图:

1)设G为连通无向图,则称经过G的每条边一次仅且一次的路径为欧拉通路。

2)如果欧拉通路是回路(起点和终点是同一个顶点),则称此回路为欧拉回路。

3)具有欧拉回路的无向图G称为欧拉图。

有向图:

1)设D是连通有向图,则称经过G的每条边一次仅且一次的有向路径为有向欧拉通路。

2)如果有向欧拉通路是回路,则称此回路为有向欧拉回路。

3)具有有向欧拉回路的有向图G称为有向欧拉图。

 

2.定理及推论

定理1:无向图G存在欧拉通路的充要条件是:G为连通图,并且G仅有两个奇度结点(度数为奇数的顶点)或无奇度结点。

推论1.1:当G是仅有两个奇度结点的连通图时,G的欧拉通路必以此两个节点为端点。

推论1.2:当G是无奇度结点的连通图时,G必有欧拉回路。

推论1.3:G为欧拉图(存在欧拉回路)的充要条件是G为无奇度结点的连通图。

 

定理2:有向图D存在欧拉通路的充要条件是:D为有向连通图,并且所有顶点的出度和入度相等;或者除两个顶点外,其余顶点的出度与入度都相等,而这两个顶点中一个顶点的出度与入度之差为1,另一个顶点的出度和入度之差为-1

推论2.1:当D除出度入度之差为1,-1的顶点外,其他顶点的出度和入度都相等时,D的有向欧拉通路必以出度入度之差为1的顶点为始点,出度入度之差为-1的顶点为终点。

推论2.2:当D的所有顶点的出度和入度都相等时,D中存在有向欧拉回路。

推论2.3:有向图D为有向欧拉图的充要条件是D的基图为连通图,并且所有顶点的出度和入度相等。

 

3.欧拉回路的应用

  • 哥尼斯堡七桥问题
  • 一笔画问题。
  • 旋转鼓轮的设计

4.欧拉回路的判定

无向图:连通图,所有顶点都为偶度数

有向图:连通图,所有顶点出度等于入度

 

5.欧拉回路输出路径

1.DFS搜索

利用欧拉定理判断出一个图存在欧拉回路后,选择一个正确的起始顶点,用DFS遍历所有的边(每条边只遍历一遍),遇到走不通则回退。在搜索前进方向上将遍历的边顺序记录下来。

这组边组成的就是欧拉回路。(判断该图是不是欧拉回路,在此基础上输出欧拉回路)

2.套圈法

原文地址:https://www.cnblogs.com/pavtlly/p/9507408.html