zoukankan      html  css  js  c++  java
  • 有关欧拉通路/回路的一些资料整理

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

    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.套圈法

  • 相关阅读:
    Oracle数据类型
    Windows10安装node.js,vue.js以及创建第一个vue.js项目
    Redis Desktop Manager安装
    VMware安装Linux系统
    前端入门学习路线
    架构
    HTML
    Oracle修改表类型方法
    Python学习
    Python(字符串和编码)
  • 原文地址:https://www.cnblogs.com/pavtlly/p/9507408.html
Copyright © 2011-2022 走看看