繁体   English   中英

具有加权顶点的DAG算法

[英]Algorithm for DAG with weighted vertices

令G =(V,E)为DAG(有向无环图)。 每个顶点v都有一个权重w(v)分配给它。 给定一个顶点u,令f(u)= max {w(v),其中v可以达到u}。 因此,换句话说,f(u)是可以达到u的所有顶点的权重中的最大权重。 目的是编写一个线性时间算法,为G中的每个顶点u计算f(u)。

例如,将其作为输入图:

图形

然后,该算法应计算以下内容:

  • f(A)= 5
  • f(B)= 12
  • f(摄氏度)= 15
  • f(D)= 12
  • f(E)= 12

在O(n(n + m))时间内完成此操作很简单,但是如何在O(n + m)时间内完成呢?

进行拓扑排序,然后按此顺序遍历节点,并为每个节点分配其自身最大权重和前任前任f (即具有通向当前节点的边的节点)的权重。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM