zoukankan      html  css  js  c++  java
  • 欧拉路径(一笔画问题)

    去年暑假就在ybt上学习了一笔画问题,但理解不够,代码也不熟悉。

    在cdqz集训,再做了欧拉路径的题。

    先熟悉定理:


    定理一 
    连通的无向图有欧拉路径的充要条件是:

    G中奇顶点(连接的边数量为奇数的顶点)的数目等于0或者2。

    连通的无向图是欧拉环(存在欧拉回路)的充要条件是:

    G中每个顶点的度都是偶数。

    定理二

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


      对有向图来说,一笔画不仅指遍历所有边,而且要遵循正确的方向。
      严谨地说,一个连通有向图G有欧拉路径,指存在一个顶点,从它出发,沿着有向边的方向,可以不重复地遍历图中所有的边。
      有向图的欧拉回路则是指可以从某一顶点开始,沿有向边的方向不重复地遍历所有边,然后回到原来出发的顶点。用类似于定理一中证明的思路,可以得到有向图一笔画的判定准则:

      一个连通的有向图可以表示为一条从顶点u到v的(不闭合的)欧拉路径的充要条件是:

    u的出度(从这个顶点发出的有向边的数量)比入度(指向这个顶点的有向边的数量)多1, v 的出度比入度少1,而其它顶点的出度和入度都相等。 

      一个连通的有向图是欧拉环(存在欧拉回路)的充要条件是以下两个之一:

    1.每个顶点的出度和入度都相等; 
    2.存在一系列的(有向)环C1 C2… Cm,使得图G里的每一条边都恰好属于某一个环。

      一笔画问题讨论的是能否不重复地遍历一个图的所有边,至于其中有否顶点的遍历或重复经过则没有要求。哈密顿问题讨论的则是顶点的遍历:能否不重复地遍历一个图的所有顶点?


  • 相关阅读:
    微信小程序开发工具 POST net::ERR_PROXY_CONNECTION_FAILED 代理问题
    微信小程序 带参调用后台接口 循环渲染页面 wx.request wx:for
    三下乡感悟心得体会
    Mysql通过Adjacency List(邻接表)存储树形结构
    java的List中使用filter过滤出符合特定条件的元素List
    mybatis报表,动态列与查询参数+行列转换
    mysql行转列转换
    spring配置jackson不返回null值
    mybatis动态列名
    查出最新记录
  • 原文地址:https://www.cnblogs.com/719666a/p/10306277.html
Copyright © 2011-2022 走看看