在加权有向图中查找覆盖每个节点一次的路径(任何语言)
Finding paths that cover every node once in weighted directed graph (any language)
我有一个有向加权图。它可能连接也可能不连接,组件也可能连接也可能不连接。我有两个目标:
至少,想出一个路径列表(如果整个图没有连接,可能必须是路径的组合)访问每个节点一次且仅一次。
如果可能,找到访问每个节点一次且仅一次的最短路径(或路径组合,在图不连通的情况下)
目前,我认为最简单的方法就是找到所有连接的组件(使用 dfs,对吗?),然后在每个组件内递归遍历每个可能的节点选择,并对我选择的路径进行排序剩下找到最短的那个了。
还有其他想法吗?
正如您所说,我将开始使用 BFS 发现连通分量,并且在每个图中您可以应用 TSP(旅行商问题)算法。
您可以在 here
上找到有关该算法的足够详细信息
我有一个有向加权图。它可能连接也可能不连接,组件也可能连接也可能不连接。我有两个目标:
至少,想出一个路径列表(如果整个图没有连接,可能必须是路径的组合)访问每个节点一次且仅一次。
如果可能,找到访问每个节点一次且仅一次的最短路径(或路径组合,在图不连通的情况下)
目前,我认为最简单的方法就是找到所有连接的组件(使用 dfs,对吗?),然后在每个组件内递归遍历每个可能的节点选择,并对我选择的路径进行排序剩下找到最短的那个了。
还有其他想法吗?
正如您所说,我将开始使用 BFS 发现连通分量,并且在每个图中您可以应用 TSP(旅行商问题)算法。
您可以在 here
上找到有关该算法的足够详细信息