17得票7回答
在有向无环图中求最长路径的Dijkstra算法

我想知道是否可以使用Dijkstra算法在有向无环图中找到最长路径。我知道在一般的图中,由于存在负权重环,使用Dijkstra算法是无法找到最长路径的。但在DAG中应该可以使用,我认为。通过谷歌搜索我发现了很多互相矛盾的信息。有些人说它适用于DAG,而有些人则说它不适用,但我没有找到证据或反例...

15得票1回答
循环图中最长路径问题的优化

如何优化寻找循环图中最长路径? 已知在循环图中寻找最长路径是NP完全问题。有什么优化或启发式方法可以比深度优先遍历整个图更快地找到最长路径?是否有任何概率性的方法? 虽然我有一个具有特定质量的图,但我正在寻找一般情况下的答案。提供论文链接会很棒。以下是部分答案: 确定它是循环图。使用动态规划...

12得票4回答
为什么在有向无环图中的最长路径需要拓扑排序?

问题: 给定一张带权有向无环图(DAG),以及其中的一个源点s,找出从该源点s到所有其他顶点的最长距离。 请查看参考图:链接 为什么我们需要拓扑排序? 我们不能简单地从源点使用修改后的BFS吗? 我们为什么如此关注线性排序。 如果这是一个重复的问题,请把我重定向到相关的答案。 谢谢

11得票1回答
如何在一个环形图中找到两个节点之间的最长路径?

我已经解决了这里发布的大部分问题,除了最长路径问题。我读过有关最长路径的维基百科文章,如果图是无环的话,这似乎是一个简单的问题,但我的图不是无环的。 那么我该如何解决这个问题呢?采用蛮力法,检查所有可能的路径吗?我该如何开始做呢? 我知道对于一个具有约18000个节点的图形来说,这将需要很...

10得票2回答
在图中寻找最长路径

我正在尝试解决一个问题,需要找出给定路线中连接的城市数量最多的情况。 例如: 如果给定的路线是[['1', '2'], ['2', '4'], ['1', '11'], ['4', '11']], 那么连接的最大城市数将为4。 约束条件是我不能访问已经访问过的城市。 我需要想法,如何进一步...

7得票2回答
如何在Lisp中找到两个节点之间的最长路径?

我需要编写一个Lisp函数,以查找两个节点之间的最长路径,而不重访任何节点。但是,如果起点和终点相同,则可以重新访问该节点。该函数需要同时具有递归和深度优先搜索的特点。 我已经尝试了几个小时,但无法得出解决方案。我知道函数的一般轮廓,但无法正确编程。下面是一些代码和大部分伪代码: (def...