第一步,把每一步运算都加一个括号:
((a/ (b+c))*d)
第二步,把括号内的运算符移到括号外(右侧括号外):
((a (bc)+)/d)*
第三步,把所有括号去掉:
abc+/d*
所得即为后缀表达式。
例:表达式 a*(b+c)-d 的后缀表达式?
① ((a*(b+c))-d)
② ((a(bc)+)*d)-
③ abc+*d-
另查自百度知道:
表达式 a*(b+c)-d是中缀表达式,转化成二叉树后,它是中序遍历的结果
二叉树如下图:
(-)___
/______
(*)(d)____
/________
(a)(+)________
/____
(b)(c)____
后缀表达式,就是后序遍历该二叉树,所得到的序列,也就是:abc+*d-
前缀表达式,就是前序遍历二叉树,所得到的序列,是:-*a+bcd
版权归原作者 Arron475 所有, 如有侵权,请联系我们删除。