如何从完全有向图构造Hamilton路径

时间:2014-10-01 21:59:22

标签: algorithm graph

给出有向图。

任何2个顶点都是相邻的。连接一对顶点的边缘可以是单向的或双向的。

如何找到Hamilton路径?

附注:

  • 维基百科说"如果每个顶点的全度大于或等于n,则具有n个顶点的强连通简单有向图是哈密顿量。"因此,我的问题必须存在解决方案。
  • 我知道汉密尔顿的一般路径问题是NP-Complete。但感觉这个特定版本应该有一个多项式解决方案。

1 个答案:

答案 0 :(得分:1)

使用插入排序的变体以二次方式构造路径。给出一条路径

v1 v2 ... vn-1

在顶点子集上,考虑如何插入vn。如果vn的弧为v1,则前置vn。如果vn-1的弧线为vn,则附加vn。否则,Sperner's lemma存在一个索引ivn的弧为vi,弧为vi+1。将其插入那里。