【发布时间】:2015-04-26 13:32:42
【问题描述】:
我有一个 dag(树),其中有向边只有三种:
- 从左到右(兄弟姐妹)
- 孩子到父母
- 孩子的父母
具体来说,问题是评估一个属性解析树,但具体问题是什么并不重要。
种类:
什么遍历可以保证给节点的拓扑排序?
我认为 inorder 会失败,但有些地方建议 inorder 是要走的路。我知道一般 DAGS 上的反向 post order woeks 但我认为我的情况必须有一个更简单的遍历。
【问题讨论】:
-
你说它是一个“DAG”,但你没有证明它是一个 DAG;你描述的东西对我来说听起来像一棵普通的树。如果它不是 DAG,则您实际上不需要对其进行排序。由于这是关于属性语法的,也许您对属性之间的依赖关系感兴趣?
-
@IraBaxter 是的,这里有一棵树。我想对其进行排序以使依赖关系正常。它是一个 L 属性语法的注释语法树。
-
@IraBaxter 感谢您之前的回答,非常棒。
标签: parsing sorting compiler-construction directed-acyclic-graphs topological-sort