二叉树,根据预订构建树

时间:2010-08-11 14:07:33

标签: parsing language-agnostic data-structures binary-tree

根据它的顺序构建树很容易。 但是,假设你应该基于它的预订(例如+ + y z + * x y z)构建一棵树。

很容易看出+是根,以及如何从那里继续左边的子树。 但是......你怎么知道什么时候应该“切换”到正确的子树?

1 个答案:

答案 0 :(得分:1)

通常情况下,被认为是一个困难的案例。

对于预购,你只需要这样的语法。

expr ::= operator expr expr | var

运算符之后是正好两个格式正确的表达式。这可以使用递归

轻松解析

如果解析树并获取变量,则返回变量。 如果解析树并获取运算符,请将以下两个树解析为右/左子树。