标签:方向 有关 问题 一个 遇到 无向图 路径 1.2 2.3
这两天看了下欧拉回路,整理下资料,以备以后回顾。
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.套圈法
从一个图中寻找存在的欧拉回路。(看得挺晕的,还不会,emmm...)
标签:方向 有关 问题 一个 遇到 无向图 路径 1.2 2.3
原文地址:http://www.cnblogs.com/Leonard-/p/7811717.html