图遍历算法:只有在之前访问过图的所有传入边之后才能移动到下一个节点时

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

有一个图,由顶点(工业装置)和该节点之间的原材料、中间体和产品的边流组成。 我需要某种算法来从源节点“遍历”该图到消费者节点。

该算法的关键要求是,只有当我之前已经访问过该节点且所有输入流都进入(图的边缘)时,我才能从图的某个节点移动到下一个节点

例如。假设我有节点 A 和 B(源)连接到节点 C(中间),节点 C 连接到节点 D(消费者)。该算法必须首先从A到C,然后从B到C,然后才从C到D。换句话说,一些计算必须在节点C中执行,并且只有在我已经访问了所有节点之后才能完成。较早进入流量,然后使用这些计算来评估输出 C 流量。

什么数学算法可以做到这一点?

第二个问题是关于同一部分的。在我的图表中,我经常看到某种流沿着位于图表中间或末端的节点的边缘发生了变化。我需要某种规则或算法来确定需要重新计算的图的节点。 例如,让节点C显式连接到节点D(直接连接),同时C也隐式连接到D(通过节点E)。反过来,D 具有三个传入边 CD、CE->ED 和某种节点 AD。所以,当改变节点C的特征时,算法应该经过边CD和CED,而不是AD,以免进行不必要的计算并取旧值。

algorithm math graph traversal
1个回答
0
投票

拓扑排序将解决第一个问题。

该排序是您应该在更改时重新计算的顺序,但仅重新计算可以从更改的内容到达的节点。

我要睡觉了。如果没有意义,我明天可以澄清。

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