使用post order表达式创建二进制表达式树

时间:2017-03-17 00:27:10

标签: tree-traversal

我必须为后序表达式

创建二进制表达式树

XYZ + AB-C * / -

据我所知,当一个操作符在列表中的下一个时,将pupushing opperands放入堆栈并弹出两个,我对二进制表达式树的最佳尝试是

    -
   / \
  X   / 
       \
        *
       / \
      C   -
         / \ 
        A   B
             \
              +
             / \
            Y   Z

这是对的吗?或者我完全错了

1 个答案:

答案 0 :(得分:0)

在谈论操作及其优先级时,您的堆栈应如下所示。

X - ((A-B) * C) / (Y+Z)

((A-B) * C) / (Y+Z)

(A-B) * C

(A-B)

(Y+Z)

X

所以正确的方法就是斯蒂芬的答案。