我必须为后序表达式
创建二进制表达式树XYZ + AB-C * / -
据我所知,当一个操作符在列表中的下一个时,将pupushing opperands放入堆栈并弹出两个,我对二进制表达式树的最佳尝试是
-
/ \
X /
\
*
/ \
C -
/ \
A B
\
+
/ \
Y Z
这是对的吗?或者我完全错了
答案 0 :(得分:0)
在谈论操作及其优先级时,您的堆栈应如下所示。
X - ((A-B) * C) / (Y+Z)
((A-B) * C) / (Y+Z)
(A-B) * C
(A-B)
(Y+Z)
X
所以正确的方法就是斯蒂芬的答案。