问题
单项选择题
有算术表达式((a+b)-c/(d+e)+f)*(g+h),其前缀和后缀表达式分别为()。
A.*+-+ab/c+def+gh、ab+cde+/-f+gh+*
B.*+-ab+/c+def+gh、ab+cde+/-f+gh+*
C.*+-+ab/c+def+gh、ab+cde+/-+fgh+*
D.*+-+ab/c+edf+gh、a+bcde+/-f+gh+*
答案
参考答案:A
解析:
表达式((a+ b)-c/(d+ e)+f)*(g+ h)对应的二叉树如图13-27所示。
对这棵二叉树的前序遍历和后序遍历对应表达式的前缀和后缀形式。此树的前序遍历为*+-+ab/c+def+gh,后序遍历为ab+cde+/-f+gh+*,于是选A。