题目
算术表达式a+b*(c+d/e)转为后缀表达式后为?
1、画一个运算树
先算d/e,根为”/”,左右子结点分别为d,e;
然后算c+d/e,根为“+”,左右子树分别为c和上面的子树;
再算b*(c+d/e),根为 *,左子树为b,右子树为(c+d/e)的树;
最后算a+b*(c+d/e),”+”为根,a为左子树,右子树为刚才得到的树.
2、对该树后序遍历
对该树后序遍历即得结果:abcde/+*+。
先算d/e,根为”/”,左右子结点分别为d,e;
然后算c+d/e,根为“+”,左右子树分别为c和上面的子树;
再算b*(c+d/e),根为 *,左子树为b,右子树为(c+d/e)的树;
最后算a+b*(c+d/e),”+”为根,a为左子树,右子树为刚才得到的树.
对该树后序遍历即得结果:abcde/+*+。