已知一个后缀算术表达式为: 24 8 + 3 * 4 10 7 - * / ,其对应的中缀算术表达式为``?

说的详细点··QQQ

24+8*3/4*10-7

为了不改变原来的运算次序,加上括号后为:

[(24+8)*3]/[4*(10-7)] 

后序遍历是先遍历左子树,后遍历右子树,最后才是根,所以,紧邻每个运算符号前的两个数字必为该运算符的左右操作数,也就是该根的左右子树

+号前的24 8分别是它的左右子树,-号前的10 7分别是它的左右子树

所以,原表达式初步可变为:

(24 8 +) 3 *  4 (10 7 -) * /

现在第一个*号前的操作数可以看出是(24 8 +)3

第二个*号前的操作数为4(10 7 -)

两个括号内的部分可以确定分别组成一棵子树,所以,进一步可变为:

( (24 8 +) 3 *)   (4 (10 7 -) *)   /

左子树         右子树     根

由此可确定该二叉树,然后中序遍历即可

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-06-18
谁来帮回答下,我也急需..我出分..
相似回答