无向图的Hierholzer算法流程(一)

无向图的Hierholzer算法

细心的读者可能发现了上述分析中的一个漏洞:上述分析只能说明,当图中存在度数为奇数的节点时,不存在欧拉回路。我们还需要一个用来找出欧拉回路的算法,才能证明当所有节点度数为偶数时,欧拉回路确实存在。事实上,欧拉本人也没有完成这一证明,该证明的补全由德国数学家 Carl Hierholzer 于 1871 年完成\^3

算法流程

Hierholzer 的基本思想是首先找到一个子回路,并逐步将其他回路合并到该子回路中,最终形成完整的欧拉回路。该证明被后人整理成 Hierholzer 算法**^4**,用于在已经判定无向图的欧拉回路存在的前提下,找出一条欧拉回路。算法流程如下:

  • (寻找子回路)从任意非零度节点 出发,沿着边遍历图。在遍历过程中,删除经过的边。如果遇到一个所有边都被删除的节点,那么该节点必然是 (证明见下文),即我们找到了一个包含 的回路。将该回路上的节点和边添加到结果序列中。
  • (检查是否存在其它回路)检查刚刚添加到结果序列中的节点,看是否还有与节点相连,且未遍历的边。如果发现节点 有未遍历的边,则从 出发重复步骤 1,找到一个包含 的新回路,将结果序列中的一个 用这个新回路替换。此时结果序列仍然是一个回路,只不过变得更长了。
  • (结束条件)重复步骤 2,直到所有边都被遍历。此时结果序列中的节点和边就构成了欧拉回路。算法结束。
相关推荐
QXWZ_IA1 小时前
桥梁数字孪生怎么落地?
人工智能·科技·算法·智能硬件·政务
Kel1 小时前
输出层与反分词(Output Layer & Detokenization)
人工智能·算法·架构
陕西企来客1 小时前
2026年7月技术好GEO优化方案:算法适配与内容策略
人工智能·算法·机器学习·技术好geo优化
风栖柳白杨1 小时前
【面试】AI算法工程师_空白自测版本
人工智能·算法·面试
闪电悠米3 小时前
力扣hot100-73.矩阵置零-标记数组详解
算法·leetcode·矩阵
栋***t3 小时前
从“纸质试卷”到“AI智能组卷”,麦塔在线考试系统如何重构出题逻辑?
java·大数据·人工智能·算法·重构
wabs6663 小时前
关于图论【卡码网100.最大岛屿的面积的思考】
数据结构·算法·图论
CHANG_THE_WORLD3 小时前
深入理解递归:从函数调用到调用栈的完整执行过程
java·开发语言·算法
geovindu5 小时前
go:Backtracking Algorithm
开发语言·后端·算法·golang·回溯算法
微露清风5 小时前
模拟算法学习记录
学习·算法