如何在有向图中找到必须通过特定节点的最短路径?

时间:2016-03-09 08:43:39

标签: algorithm graph dijkstra

我有一个节点少于600个的有向图,每个节点的边数小于8。 现在我需要在该图中找到必须通过一些给定节点(< 50)的路径。传递给定节点的顺序是免费的。 我知道这是一个NPC问题,但我不知道如何解决它。 近似解决方案也是可以接受的。 谢谢!

1 个答案:

答案 0 :(得分:1)

计算所有特定节点对之间的最短路径。然后创建一个仅包含那些节点的新图,其中最短路径的长度为距离。现在,问题是减少"去旅行推销员。

(TSM有一个快速的3/2近似,利用最小的生成树和匹配,如果这足够好 - 50!可能性在任何情况下都太多了)

相关问题