zoukankan      html  css  js  c++  java
  • 一笔画问题

    我们知道欧拉环路定理:

    如果一个图每个点的度数都是偶数,则可以存在一条欧拉环路。

    道理不复杂,对于偶数度顶点,因为度数为偶数,所以,进入一个结点必然存在一条出该结点的路,这样我们肯定可以找到一种方法遍历所有的边

    一笔画问题可以简单点说是:

    如果一个图每个点的度数都是偶数,或奇数度顶点的个数有且只有两个,则存在一笔画的方法。

    显然不可能存在更多的奇数度顶点,否则图中经过的奇数度顶点,没法再次到达。

    所以一笔画问题的结论:

    (1)如果每个顶点的度数为偶数,那么存在一个欧拉环

    (2)如果有两个奇数度顶点,则这两个奇数度顶点一个为起始点、一个为终止点。

    (3)如果奇数度顶点>2,则无解。

    所以说,如果图都是偶数度顶点,则可以用找欧拉环问题的方法求解。

    如果图的顶点中有两个奇数度顶点a、b,也不麻烦,我们人为添加一条a->b的边,这样图就变成了所有点的度数都是偶数的图。用找欧拉环的方式求解,这一条从a->a的欧拉环路,再加上之前搜索的a->b的通路即为所求。

  • 相关阅读:
    traceroute工作原理
    Android 关于资源适配
    JavaScript对象
    八大排序算法总结
    Linux pipe函数
    cocos2d-x读取xml(适用于cocos2d-x 2.0以上版本号)
    WebService 设计总结
    select poll使用
    QQ强制视频聊天
    图解iPhone开发新手教程
  • 原文地址:https://www.cnblogs.com/zhazhalovecoding/p/6077181.html
Copyright © 2011-2022 走看看