首页 > 试题广场 >

前缀表达式为-+a*b-cdef,后缀表达式为abcd-*

[单选题]
前缀表达式为-+a*b-cd/ef,后缀表达式为abcd-*+ef/-,对应二叉树的中序遍历序列是( )
  • a+b*-e/fc-d
  • a+b*(c-d)-e/f
  • a+b*-e/fcd-
  • a+b-*e/fc-d
我认为B正确,推理过程如下,中序遍历其实是中缀表达式,求中缀表达式只需要一个前缀表达式可以得出
从右向左扫描中缀表达式, fe入操作数栈,遇到/,出栈,计算得e/f,入栈,e/f
2.d入栈,
3.c入栈
4.遇到-操作符, c,d出栈, 计算 c-d,将c-d入栈
5.b入栈,
6.*入栈,计算  b* (c-d)  ,并入栈
7.a入栈
8.遇到操作符,加好, a+b*(c-d),并入栈
9.遇到操作符,a+b*(c-d) 和e/f出栈,a+b*(c-d)   -e/f

发表于 2023-03-16 13:50:01 回复(0)