首页 > 试题广场 >

表达式a*(b+c)-d的后缀表达式是()

[单选题]

表达式a*(b+c)-d的后缀表达式是()

  • abcd+-
  • abc*+d-
  • abc+*d-
  • -+*abcd
推荐
选C
【分析】
//本题考查的是表达式的前中后序遍历

表达式a*(b+c)-d是中缀表达式,转化成二叉树后,它是中序遍历的结果
二叉树如下图:
______(-)_________
_____/___\________
____(*)__(d)______
____/__\__________
__(a)__(+)________
______/___\_______
____(b)___(c)_____
后缀表达式,就是后序遍历该二叉树,所得到的序列,也就是:abc+*d-,也就是C选项。
同样的道理,前缀表达式是前序遍历二叉树,所得到的序列,是:-*a+bcd
编辑于 2019-03-19 17:37:35 回复(0)
选C
一楼说了标准的二叉树的形式,我就从我们自己计算的方式来说下:
首先,先计算括号里面的,也就是b+c,把运算符放在后面就是bc+,同时令b+c=e;
然后,就是a*(b+c)=a*e,把运算符放在后面就是ae*,即abc+*,令a*(b+c)=f;
最后a*(b+c)-d=f-d,把运算符放在后面就是fd-,即abc+*d-
发表于 2019-03-19 18:04:59 回复(0)
c。 {[a*(b+c)]-d},将运算符号移到最近的括号外
发表于 2019-03-19 16:11:47 回复(0)
c,依照计算顺序将一个个运算符后移,同时将运算符两边的公式前移。f1+f2->f1f2+
发表于 2019-03-19 16:01:06 回复(0)
c,这个看每个选项倒排就行了
发表于 2019-03-19 21:56:59 回复(0)
C
发表于 2017-09-16 18:35:33 回复(0)