博客新地址:vonv.tk

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

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

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

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

定理二

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

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

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

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

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

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

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

参考:
Tutorials
How to find whether a given graph is Eulerian or not?
Sketch of Eulerian Circuit Algorithm

欧拉路径(一笔画问题)相关推荐

  1. I - Ant Trip (无向图欧拉回路+并查集),判断

    I - Ant Trip 参考博客:Ant Trip(欧拉回路+并查集) 参考:欧拉路径问题与欧拉回路问题 题意:给你无向图的 N 个点和 M 条边,保证这 M 条边都不同且不会存在同一点的自环边,现 ...

  2. python生成一笔画_python实现欧拉路径查找算法与微信小游戏《一笔画完》(一)...

    这段时间微信有个小游戏叫<一笔画完>很火,在朋友推荐我玩了之后,我发现这其实就是所谓的欧拉图的简化板,我们要做的就是找出欧拉路径,游戏中起点已经定好,而且可以保证是欧拉图,如果不是的话也就 ...

  3. 图论的起源:柯尼斯堡七桥(一笔画)问题与欧拉路径/回路

    柯尼斯堡七桥问题 大数学家欧拉一生中的大部分时间在俄国和普鲁士度过.1735年,他提出了著名的柯尼斯堡七桥(Seven Bridges of Königsberg)问题: 柯尼斯堡(今俄罗斯加里宁格勒 ...

  4. 欧拉路径、欧拉回路与欧拉图(一笔画)

    欧拉欧拉欧拉欧拉欧拉~~~~~ 定义 由于不可知的原因,我在考场上又双叒叕挂了一个曾经学过的知识点.感觉凡是没整理过的知识点,基本都忘干净了呀!(?) 欧拉路径(欧拉通路):通过图中所有边的简单路.( ...

  5. [模板][持续更新]欧拉回路与欧拉路径浅析

    Luogu P2731 骑马修栅栏 Riding the Fences 题目背景 Farmer John每年有很多栅栏要修理.他总是骑着马穿过每一个栅栏并修复它破损的地方. 题目描述 John是一个与 ...

  6. 模板 - 欧拉路、欧拉回路(一笔画问题)

    整理的算法模板合集: ACM模板 目录 非递归版 普通递归版 HierholzersHierholzersHierholzers算法(输出字典序最小的答案) FleuryFleuryFleury算法 ...

  7. LeetCode 332. 重新安排行程(欧拉路径)

    1. 题目 给定一个机票的字符串二维数组 [from, to],子数组中的两个成员分别表示飞机出发和降落的机场地点,对该行程进行重新规划排序. 所有这些机票都属于一个从JFK(肯尼迪国际机场)出发的先 ...

  8. 算法提高课-图论-欧拉回路和欧拉路径-AcWing 1123. 铲雪车:披着欧拉回路外衣的小学数学题

    文章目录 题目解答 无向图的一笔画 有向图的一笔画 题目来源 题目解答 来源:acwing 分析: 对于一个给定的图,怎样判断是否存在着一个恰好包含了所有的边,并且没有重复的路径?这就是一笔画问题.用 ...

  9. 1341:【例题】一笔画问题

    [题目描述] 如果一个图存在一笔画,则一笔画的路径叫做欧拉路,如果最后又回到起点,那这个路径叫做欧拉回路. 根据一笔画的两个定理,如果寻找欧拉回路,对任意一个点执行深度优先遍历:找欧拉路,则对一个奇点 ...

最新文章

  1. 145.二叉树的后序遍历
  2. SAP QM初阶之取样策略如何确定检验批Sample Size?
  3. Scrapy 模拟登陆知乎--抓取热点话题
  4. 160921、React入门教程第一课--从零开始构建项目
  5. swift 同步 网络请求_IOS开发中异步网络请求上实现同步逻辑
  6. Django 3.2.5博客开发教程:URL与视图函数
  7. 【完整可运行代码】剑指 Offer 29. 顺时针打印矩阵
  8. 看视频学编程之WinForm
  9. oracle学习总结一(基础)
  10. 动态的显示当前的时间---setInterval的用法
  11. 【SpringBoot_ANNOTATIONS】属性赋值 01 @Value赋值
  12. linux mysql远程连接
  13. 纯C++编写Win32/X64通用Shellcode注入csrss进程
  14. 《纽约时报》畅销书作家发布新的COVID安全旅行提示电子书
  15. Java 汉字转拼音(完美支持解决多音字)
  16. Pr入门系列之十一:基本图形(上)
  17. linux 中eth,执行命令取出linux中eth0的IP地址
  18. better-scroll滚动的同时样式透明度发生变化
  19. Illegal base64 character 20
  20. 在ios10+的safair中实现视频的自动播放

热门文章

  1. ibm x86 服务器 系列,IBM至强5600全系列服务器横向对比
  2. 社区团购小程序源码+界面diy+附近团长+供应商+拼团+菜谱+秒杀+预售+配送+直播
  3. 1577. 条条大路通罗马 Java题解 (dijkstra综合应用,map)【PAT甲级1087】
  4. swoft 2启动rpc
  5. linux如何配置php环境,linux如何配置php环境
  6. java数据结构停车场管理系统_《数据结构》实验设计报告-停车场管理系统
  7. 如何把视频的字幕提取出来?这3个方法提取字幕方法一学就会
  8. 跨专业的我如何拿到微软offer
  9. 合工大计算机学硕和专硕报录比,2019合肥工业大学计算机考研初试科目、参考书目、报录比汇总...
  10. 大学生程序设计大赛官网