gpt4 book ai didi

graph - 为什么有向无环图中的最长路径需要拓扑排序?

转载 作者:行者123 更新时间:2023-12-04 23:17:06 24 4
gpt4 key购买 nike

问题:给定一个加权有向无环图 (DAG) 和其中的一个源顶点 s,找出从 s 到给定图中所有其他顶点的最长距离。

请找引用图:link

为什么需要拓扑排序?我们不能简单地使用来自源顶点的修改后的 BFS。为什么我们如此关心线性排序。

如果这是重复,那么请将我重定向到相关答案。

谢谢

最佳答案

如果不排序,不知道先选择哪个相邻顶点,可能会导致使用顶点距离v的情况。更新其相邻顶点的距离 adj[v] ,但在那之后,顶点的距离v得到更新,所以顶点来自 adj[v]也可以得到更远的距离,但我们不会再访问它们了。

基于您引用的图表的示例( http://www.geeksforgeeks.org/wp-content/uploads/LongestPath.png ):
假设在这一步:
Step 1
比如说,我们从顶点'0'开始遍历图,我们选择距离6的顶点。 (而不是距离 2 的顶点,如果我们使用拓扑顺序,我们会选择它)。已处理的顶点为绿色,当前正在处理的顶点为红色:
Step 2
我们已将最后一个顶点的距离更新为 7我们不会增加它,但是如果我们访问了距离 2 的顶点在上一步中,该顶点的距离为 10:
Step 3

关于graph - 为什么有向无环图中的最长路径需要拓扑排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27612920/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com