【问题标题】:Binary trees, construct a tree based on preorder二叉树,根据前序构造树
【发布时间】:2010-08-11 14:07:33
【问题描述】:

在给定顺序的情况下构造一棵树很容易。 但是,假设您应该根据它的预序构造一棵树(例如+ + y z + * x y z)。

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

【问题讨论】:

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


    【解决方案1】:

    通常,顺序被认为是困难的情况。

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

    expr ::= operator expr expr | var
    

    一个运算符后跟正好是两个格式良好的表达式。这可以使用递归轻松解析

    如果你解析一棵树并得到一个变量,则返回该变量。 如果你解析一棵树并得到一个运算符,则将以下两棵树解析为右/左子树。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-03
      • 2023-03-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多