这个算法是否有一个反例,可以在欧拉图中找到欧拉路径?

时间:2017-04-02 18:22:23

标签: graph-algorithm pseudocode depth-first-search

以下是在欧拉图中寻找欧拉路径的给定算法。但是,据说有一个小于10个顶点的反例。给定的欧拉图是无向的,每个顶点都有均匀度,它将在相同的顶点开始和结束。

1. Perform a DFS traversal of G and number the vertices in DFS-preorder.
2. Re-initialize all vertices and edges of G as unused.
3. Produce a cycle as follows:
    Start from the vertex with preorder number 1 (computed in step 1), and
    repeatedly go to the vertex with highest preorder number possible along 
    an unused edge.
    Stop when all edges incident to the current vertex are used.

过去3天我一直在尝试从6到9的顶点,我真的无法想出一个例子。任何帮助表示赞赏!谢谢。

2 个答案:

答案 0 :(得分:0)

我将此作为回复发布,因为我不知道如何在评论中正确显示图表,如您所见。

如果我错了,请纠正我,但不会因为图表

而被打动
 A---B
  \ /
   C 
  / \
 D---E

使用DFS- C A B D E

现在C是节点号1,我们将从它开始,并且必须再次访问它以进入其他周期。

如果我对您的代码的理解是正确的,那么具有2个或更多个具有公共节点的周期的类似图表将会出错。

PS-任何人都可以告诉你如何在评论中开始换行

答案 1 :(得分:0)

根据欧拉图是每个顶点的度数为偶数的定义,这有点迂腐,那么如果我们认为该图是不连通的呢?

A---C   E---G
|   |   |   |
B---D   F---H

要在不同的组件上运行 DFS - 在 #1 之前需要一个步骤来发现完整的图。

下图也不会工作,因为算法会采用路径:{0,3,4,7,1,3,2,1,0} missing 5,6。

graph