zoukankan      html  css  js  c++  java
  • 欧拉图

    欧拉图的判定

    欧拉通路和欧拉回路——必须是存在欧拉回路的图才能称为欧拉图,仅仅是存在欧拉通路不称为欧拉图

     

    无向图的欧拉通路

    1.图连通

    可以用dfs去判断图连通或者用高效一点的并查集。用dfs的话其实就是遍历一遍图,并记录图有多少个连通分量,一般来说,在主函数中调用了多少次dfs就是有多少个连通分量。当连通分量数为1时说明图连通,大于1则不连通。用并查集的话,判断p[i]=i是否成立,在一个连通分量重只会有一个p[i]=i,若整个图出现多于一次p[i]=i,那么说明该图不止一个连通分量,即不连通

    2.度数为奇数的点称为奇点,在无向图欧拉通路中有且仅有两个奇点,这两个奇点必定一个是起点,一个是终点(显然可以交换)。而且其余的点的度数都是偶数

     

    无向图的欧拉回路(即欧拉图)

    1.图连通(判定方法一样)

    2.所有点的度数都为偶数(从任意一个点出发都能回到自己)

     

    有向图的欧拉通路

    1.基图连通

    即有向图忽略方向当做无向图一样去判定连通性,判定方法一样

    2.必须有一个点的出度比入度大1,这个点作为起点;有一个点的入度比出度大1,这个点作为终点;其余所有点的入度和出度相等

     

    有向图的欧拉回路(即欧拉图)

    1.基图连通

    2.所有的点的入度和出度相等,从任意一个点出发都可以回到自己

     

     

    关于输出路径

    处处路径一般用递归深搜的方法,但是注意是逆序输出,即在递归函数返回后再输出

  • 相关阅读:
    vmware:使用.zip文件在vmware中安装操作系统
    Nodejs:Node.js模块机制小结
    vue:vue router学习小结
    axios使用思路总结
    vuex:使用思路总结
    React的keepAlive路由缓存的一种实现思路
    Echarts的一些用法
    gojs去水印的方法
    平面坐标与经纬度坐标的相互转换
    HTML5 添加水印
  • 原文地址:https://www.cnblogs.com/coded-ream/p/7207994.html
Copyright © 2011-2022 走看看