从每个节点中找到最高可达的节点

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

我有向图G(V,E)。 G可能包含循环。每个v以值n [v]开头。让我们称S {v}为G中v可以到达的所有顶点。对于每个v,我需要用max(n [u]),u∈S{v}更新n [v]。

我尝试使用具有路径压缩的快速联合

,但因为G是有向图,所以我不能。

一个选项是在每个节点上使用DFS,但在最坏的情况下,复杂度将为O(V(V + E))。

是否有更好的方法(也许使用拓扑排序,可传递约简或强连接的组件)?

我有向图G(V,E)。 G可能包含循环。每个v以值n [v]开头。让我们称S {v}为G中v可以到达的所有顶点。对于每个v,我需要用max(n [u]),u∈S{v}更新n [v]。我是...

algorithm graph depth-first-search
1个回答
0
投票

是,O(V + E)有更好的方法:

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