1

我有一个问题,我需要找到最长的路径。给定一个未加权的无向图。从给定的顶点开始,我需要访问尽可能多的顶点并在同一个顶点中完成,而不是访问每个顶点一次以上。

我发现的大多数算法都是针对特殊情况(非循环、有向等)的。一个想法可以是为每个顶点子集找到哈密顿循环(可以通过回溯生成子集)。但我想一定有更好的算法。

4

1 回答 1

0

正如您所发现的,找到最大的循环涉及找到其子图的哈密顿循环,因此是 NP 完全的 - 除非您正在处理某些特殊类别的图,否则任何解决方案的复杂性都会呈指数级增长。

智能蛮力方法(例如bitmask)是解决此类问题的最佳效率。

于 2019-02-14T21:52:46.617 回答