在我的web应用中,我们有许多字段汇总其他字段,并且这些字段又汇总更多的字段。我知道这是一个有向无环图。
当页面加载时,我会计算所有字段的值。我真正想做的是将我的DAG转换为一个一维列表,其中包含了计算这些字段的有效顺序。
例如:A = B + D, D = B + C, B = C + E 高效的计算顺序:E -> C -> B -> D -> A
目前,我的算法只是通过简单地向列表中迭代插入来进行操作,但我遇到了一些开始出现问题的情况。我在考虑是否需要将所有依赖关系都解析为树形结构,并从那里将其转换为一维形式?有没有一个简单的算法可以将这样的树转换为高效的排序?