如何在图中找到哈密顿循环

时间:2012-10-28 09:00:43

标签: algorithm graph

我正在努力解决汉密尔顿循环问题。我能够找到包含所有顶点的路径,但无法完成循环。

有人能为我提供一个算法来找到这个循环吗?

4 个答案:

答案 0 :(得分:16)

确定图表是否有Hamiltonian Cycle is a NP-complete problem。这意味着如果给定路径是多项式时间内的哈密顿循环,我们可以检查,但我们不知道任何能够找到的多项式时间算法。

可用于查找哈密顿循环的唯一算法是指数时间算法。其中一些是

  • 强力搜索
  • 动态编程
  • 您可以找到其他指数但更快的算法here

答案 1 :(得分:3)

我希望我发现的以下链接可以帮助您解决明确的问题...... http://www.geeksforgeeks.org/archives/19092

答案 2 :(得分:2)

这是计算机科学中最基本的问题之一,根据你的需要有很多解决方案:从这里开始http://en.wikipedia.org/wiki/Hamiltonian_path_problem#Algorithms

还有相关的答案: herehere

答案 3 :(得分:0)

如果可能,请使用SAT求解器。它们在维基百科文章中没有很好的理论时间限制,但在实践中,它们通常可以很快地解决它们。