哈密​​顿路径和欧拉路径之间的区别

时间:2010-07-16 21:33:54

标签: algorithm graph graph-theory hamiltonian-path

有人可以告诉我汉密尔顿路径和欧拉路径之间的区别。它们看起来很相似!

9 个答案:

答案 0 :(得分:100)

Euler路径是一条路径,每条路径只穿过一次而不重复,如果它在初始顶点结束,则它是一个Euler循环。

汉密尔顿路径通过每个顶点(注意不是每条边),恰好一次,如果它在初始顶点结束,则它是哈密顿循环。

在Eul​​er路径中,您可能会多次通过顶点。

在哈密尔顿路径中,您可能无法通过所有边缘。

答案 1 :(得分:9)

图论定义

(按一般性的降序排列)

  • 步行:一系列边缘,其中一条边的末端标记下一条边的开头

  • Trail :不重复任何边缘的步行。所有步道都是散步。

  • 路径:每个顶点遍历一次的步行路径。 (用于引用开放行走的路径,现在定义已经改变)仅遍历顶点的属性意味着边缘也只交叉一次,因此所有路径都是路径。

汉密尔顿路径&欧拉小径

  • 汉密尔顿路径:访问图中的每个顶点(恰好一次,因为它是路径)

  • Eulerian trail :访问图中的每一条边一次(因为它是一条线索,顶点可能会多次交叉。)

答案 2 :(得分:8)

欧洲路径必须完全访问每个边缘一次,而哈密尔顿路径必须只访问每个顶点一次。

答案 3 :(得分:3)

哈密尔顿路径只访问每个节点(或顶点)一次,而欧拉路径只遍历每个边缘一次。

答案 4 :(得分:3)

它们是相关的,但既不依赖也不相互排斥。如果图表具有Eurler周期,则它可能也可能不具有哈密顿量,而反之亦然。


欧拉循环只访问图中的每个一次。如果图中的顶点有两个以上的边,那么根据定义,循环将不止一次地通过这些顶点。因此,顶点可以重复,但边缘不能重复。

汉密尔顿循环只访问图中的每个顶点一次(类似于旅行商问题)。因此,边缘和顶点都不能重复。

答案 5 :(得分:2)

我将在生物学中使用一个常见的例子;通过制作DNA样本重建基因组。

从头组装

要从短读取构建基因组,有必要构建这些读数的图表。我们通过将读取分解为k-mers并将它们组装成图形来实现。

enter image description here

我们可以通过访问每个节点来重建基因组,如图所示。这被称为汉密尔顿路径。

不幸的是,构建这样的路径是NP难的。无法推导出有效的算法来解决它。相反,在生物信息学中,我们构建了一个欧拉循环,其中边缘代表重叠。

enter image description here

答案 6 :(得分:2)

Euler路径-Euler路径是一条沿每个边缘精确地遍历一次的路径。

Hamiltonian路径-Hamiltonian路径是每个顶点精确地遍历一次的路径。

如果您有困惑,请记住E-欧拉E-Edge。

答案 7 :(得分:1)

Euler路径是使用a的每个边的路径 图表恰好是一次。它必须有两个奇数顶点。路径在不同的顶点开始和结束。哈密​​顿循环是一个包含图的每个顶点的循环,因此您可能无法使用图的所有边。

答案 8 :(得分:0)

Euler路径是使用图形恰好一次的每个边缘(注释)的图形。 Euler电路是一条euler路径,在覆盖所有边缘后返回到起点。

虽然汉密尔顿路径是一个覆盖所有顶点(注释)的图形。当此路径返回到其起始点时,此路径称为hamilton circuit。