创建最有效的无向哈密顿路径的算法

Algorithm for creating most efficient undirected Hamiltonian path

我正在尝试创建一种算法,该算法创建一条路径,以 shortest/most 有效的方式将点图连接在一起,确保所有点都已连接并且每个点最多有两个连接。

经过一些研究,这似乎是一条(无向的)哈密顿路径。我当前的算法只是创建网络中所有可能连接的列表,然后按顺序选择最短的连接,检查它是否连接到一个点不超过两次。但是,它无法检查阻止其将整个图形连接在一起的闭环。

我的方法是完全错误的,还是有一种简单的方法来检查闭环并忽略创建闭环的连接?

寻找汉密尔顿路径是 NP-complete problem。您可能找不到比尝试节点的每个排列更好的解决方案。

如果您以某种方式找到它,您将立即 rich and famous :)