小编Yan*_* Li的帖子

在图中,如何计算节点可以有效达到的所有节点的总和?

给定有向图,将权重分配给每个节点.
从任何节点A开始,将有一组可以从A到达的节点.
将SUM定义为该集合的总权重.

问题:如何有效地计算此图中每个节点的SUM?
该图可能包含数百万个节点.

更新1:
图形数据结构由一组起始节点组成,每个节点都有一组指向节点.

我尝试过:
递归计算每个节点的后代,并根据后代集计算SUM.这种递归效率非常低,因为我必须多次设置union,uteration操作.此外,我试图在每个节点缓存后代集.但是,它很容易耗尽内存.
那么,还有其他解决方案吗?

更新2:
示例图,边缘全部是定向的,上部节点指向较低的节点
示例图
结果应为
SUM(1)= 55 SUM(2)= 35 SUM(3)= 41 SUM(4)= 19 SUM(5)= 22 SUM(6)= 25 ......

algorithm graph

7
推荐指数
1
解决办法
1848
查看次数

标签 统计

algorithm ×1

graph ×1