图形-非简单路径,最长路径

问题描述 投票:0回答:1

我正在尝试解决在图中找到最长路径的问题。即使在wikipedia中也提到了我们正在尝试找到longest simple path

简单路径是没有顶点/边重复的路径。

非简单路径是顶点/边可以重复的路径。我可以将循环或电路视为非简单路径。而且由于电路总是有循环的。

问题:

  1. 我可以说一个有向/无向图。非简单路径总有循环吗?
  2. 并且由于非简单路径中存在一个循环,因此不可能有最长的非简单路径或图形? (就像我们没有算法为负边图找到最短距离一样?)

我在这里想念什么吗?

java algorithm optimization graph shortest-path
1个回答
0
投票

您的理解是正确的:非简单路径将始终包含一个循环。在非简单路径上获取第一个重复节点的第一个实例,并按照路径进行操作,直到重新访问该节点为止;那是你的周期!

并且是的,因此并非总是定义图中最长的非简单路径。实际上,从来没有在任何包含至少一条边的图形中定义它。

注意,在图中找到最长的路径已知是[[NP]]-难的,并且没有已知的有效算法可以解决该问题。但是,有一些不错的动态编程解决方案可以减少真正的蛮力运行时间,并且可以使用像color-coding这样的聪明算法来稍微有效地查找长路径。

© www.soinside.com 2019 - 2024. All rights reserved.