确定一个图是否有哈密顿回路是一个 NP 完全问题。这意味着我们可以在多项式时间内检查给定路径是否为哈密顿回路,但我们不知道任何能够找到它的多项式时间算法。唯一可以用来找到哈密顿回路的算法是指数时间算法。其中一些算法包括: 暴力搜索 动态规划 其他指数但仍然更快的算法,你可以在这里找到。
这是计算机科学中最基本的问题之一,根据您的需求有很多解决方案:请从这里开始查看http://en.wikipedia.org/wiki/Hamiltonian_path_problem#Algorithms。还有相关的SO答案:这里和这里。