已知一算术表达式的中缀形式为 A-B/C-D*E,前缀形式为+-A/BC*DE,其后缀形式为()。A.ABCDE/-*+B.AB/C-D*E+C.ABC/-DE*+D.A-BC/DE*+
已知一算术表达式的中缀形式为 A-B/C-D*E,前缀形式为+-A/BC*DE,其后缀形式为()。
A.ABCDE/-*+
B.AB/C-D*E+
C.ABC/-DE*+
D.A-BC/DE*+
参考答案和解析
D 解析:将算术表达式的中缀形式作为一棵二叉树的中序遍历序列,将后缀形式 作为 这棵二叉树的后序遍历序列,再由二叉树的中序遍历序列和后序遍历序列唯一的确定 这棵 二叉树,在对其进行先序遍历,就可得出算术表达式的前缀形式。
相关考题:
表达式“X=A+B×(C-D)/E”的后缀表示形式可以为(17)(运算符优先级相同时,遵循左结合的原则)。A.XAB+CDE/-×=B.XA+BC-DE/×=C.XABCD-×E/+=D.XABCDE+×-/=
表达式“X=A+B×(C-D)/E”的后缀表示形式可以为(20)(运算符优先级相同时,遵循左结合的原则)。A.XAB+CDE/-X:B.XA+BC-DE/×=C.XABCD-×E/+=D.XABCDE+×-/=
表达式“X=A+B×(C-D)/E”的后缀表示形式可以为(11)(运算符优先级相同时,遵循左结合的原则)。A.XAB+CDE/-×=B.XA+BC-DE/×=C.XABCD-xE/+=D.XABCDE+x-/=
阅读以下说明和流程图(如图1所示),回答问题1至问题4。【说明】本流程图是将中缀表示的算术表达式转换成后缀表示。如中缀表达式(A-(B*C+D)*E)/(F+G))的后缀表示为ABC*D+E*-FG+/为了方便,假定变量名为单个英文字母,运算符只有+、-、*、/(均为双目运算符,左结合),并假定所提供的算术表达是非空且语法是正确的。另外,中缀表示形式中无空格符,但整个算术表达式以空格符结束。流程图中使用的符号的意义如下:数组 IN[]存储中缀表达式;数组 POLISH[]存储其后缀表达式;数组 S[]是一个后进先出栈;函数PRIOR(CHAR)返回符号CHAR的优先级,各符号的优先级见表2:填充流程图中①的判断条件。
阅读以下说明和图4-6,回答问题1至问题4。【说明】本流程图(如图4-6所示)是将中缀表示的算术表达式转换成后缀表示。如中缀表达式 (A-(B*C+D)*E)/(F+G)的后缀表示为ABC*D+E*-FG+/。为了方便,假定变量名为单个英文字母,运算符只有+、-、*、/(均为双目运算符,左结合),并假定所提供的算术表达式非空且语法是正确的。另外,中缀表示形式中无空格符,但整个算术表达式以空格符结束。流程图中使用的符号的意义如下。. 数组IN[]存储中缀表达式。. 数组POLISH[]存储其后缀表示。. 数组S[]是一个后进先出栈。函数PRIOR(CHAR)返回符号CHAR的优先级,各符号的优先级如表4-4所示。填充流程图中①的判断条件。
若某算术表达式用二叉树表示如下, 则该算术表达式的中缀式为(请作答此空), 其后缀式为( )。A.a-b+c*dB.a-(b+c)*dC.(a-(b+c))*dD.a-(b+c*d)(31)
算术表达式采用后缀式表示时不需要使用括号,使用( )就可以方便地进行求值。a-b(c+d)(其中,-、+、*表示二元算术运算减、加、乘)的后缀式为( ),与该表达式等价的语法树为(请作答此空)。
填空题中缀表达式3*(X+2)-5所对应的后缀表达式为()。