某算术表达式用二叉树表示如下,该算术表达式的中缀式为(请作答此空),其后缀式为( )。A.a-b+c*dB.a-(b+c)*dC.(a-(b+c))*dD.a-(b+c*d)

某算术表达式用二叉树表示如下,该算术表达式的中缀式为(请作答此空),其后缀式为( )。

A.a-b+c*d
B.a-(b+c)*d
C.(a-(b+c))*d
D.a-(b+c*d)

参考解析

解析:前序遍历:先访问根结点,再依次按前序遍历的方式访问根结点的左子树、右子树中序遍历:先中序遍历根结点的左子树,再访问根结点,再中序遍历根结点的右子树后序遍历:先中序遍历根结点的左子树,再中序遍历根结点的右子树,再访问根结点二叉树采用中序遍历得中缀表达式,采用后序遍历得后缀表达式

相关考题:

算术表达式采用逆波兰式表示时不用括号,可以利用(1)进行求值。与逆波兰式ab-cd+*对应的中缀表达式是(2)。空白(2)处应选择() A.a-b+c*dB.(a-b)*c+dC.(a-b)*(c+d)D.a-b*c+d

算术表达式采用逆波兰式表示时不用括号,可以利用(1)进行求值。与逆波兰式ab-cd+*对应的中缀表达式是(2)。空白(1)处应选择() A.数组B.栈C.队列D.散列表

已知一算术表达式的中缀形式为A+B*C–D/E,后缀形式为ABC*+DE/–,其前缀形式为()。A.–A+B*C/DEB.–A+B*CD/EC.–+*ABC/DED.–+A*BC/DE

已知一算术表达式的中缀表达式为a-(b+c/d)*e,其后缀形式为()A.-a+b*c/dB.-a+b*cd/eC.-+*abc/deD.abcd/+e*-

阅读以下说明和流程图(如图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所示。填充流程图中①的判断条件。

●试题一阅读以下说明和流程图(如图1所示),回答问题1至问题4,将答案写在答卷的对应栏内。【说明】本流程图是将中缀表示的算术表达式转换成后缀表示。如中缀表达式(A-(B*C+D)*E)/(F+G))的后缀表示为ABC*D+E*-FG+/为了方便,假定变量名为单个英文字母,运算符只有+、-、*、/(均为双目运算符,左结合),并假定所提供的算术表达是非空且语法是正确的。另外,中缀表示形式中无空格符,但整个算术表达式以空格符结束。流程图中使用的符号的意义如下:数组IN[]存储中缀表达式;数组POLISH[]存储其后缀表达式;数组S[]是一个后进先出栈;函数PRIOR(CHAR)返回符号CHAR的优先级,各符号的优先级见表2:【问题1】填充流程图中①的判断条件。【问题2】写出子程序A的功能,并顺序写出实现该功能的操作【问题3】写出子程序B的功能,并顺序写出实现该功能的操作。【问题4】中缀表达式(A+B-C*D)*(E-F)/G经该流程图处理后的输出是什么?【流程图】图1

若某算术表达式用二叉树表示如下, 则该算术表达式的中缀式为( ), 其后缀式为(请作答此空)。A.abc+-d*B.abcd*+-C.ab-c+d*D.abcd+*-

算术表达式采用后缀式表示时不需要使用括号,使用( )就可以方便地进行求值。a-b*(c+d)的后缀式为(请作答此空)。A. a b c d- * +B. a b c d * + -C. a b – c * d +D. a b c d + * -

算术表达式采用后缀式表示时不需要使用括号,使用(请作答此空)就可以方便地进行求值。a-b* (c + d)的后缀式为 ( ) 。A.队列B.数组C.栈D.广义表

可以用栈来检查算术表达式中的括号是否匹配。分析算术表达式时,初始栈为空,从左到右扫描字符,遇到字符“(”就将其入栈,遇到“)”就执行出栈操作。对算术表达式“(a+b*(a+b))/c)+(a+b)”,检查时,(请作答此空);对算术表达式“((a+b/(a+b)-c/a)/b”,检查时,( )。这两种情况都表明所检查的算术表达式括号不匹配。A.栈为空却要进行出栈操作B.栈已满却要进行入栈操作C.表达式处理已结束,栈中仍留有字符“(”D.表达式处理已结束,栈中仍留有字符“)”

算术表达式采用后缀式表示时不需要使用括号,使用( )就可以方便地进行求值。a-b* (c + d)的后缀式为(请作答此空) 。 A.a b c d- * +B.abcd* + -C.ab-c*d +D.abcd + *-

若某算术表达式用二叉树表示如下, 则该算术表达式的中缀式为(请作答此空), 其后缀式为( )。A.a-b+c*dB.a-(b+c)*dC.(a-(b+c))*dD.a-(b+c*d)(31)

算术表达式采用后缀式表示时不需要使用括号,使用( )就可以方便地进行求值。a-b(c+d)(其中,-、+、*表示二元算术运算减、加、乘)的后缀式为( ),与该表达式等价的语法树为(请作答此空)。

算术表达式采用后缀式表示时不需要使用括号,使用( )就可以方便地进行求值。a-b(c+d)(其中,-、+、*表示二元算术运算减、加、乘)的后缀式为(请作答此空),与该表达式等价的语法树为( )。A.a b c d-*+B.a b c d*+-C.ab-c*d+D.a b c d+*-

算术表达式采用后缀式表示时不需要使用括号,使用(请作答此空)就可以方便地进行求值。a-b(c+d)(其中,-、+、*表示二元算术运算减、加、乘)的后缀式为( ),与该表达式等价的语法树为( )。A.队列B.数组C.栈D.广义表

算术表达式采用后缀式表示时不需要使用括号,使用( )就可以方便地进行求值。a-b*(c+d)的后缀式为(请作答此空)。A.a b c d-*+B.a b c d*+-C.a b-c*d+D.a b c d+*-

某算术表达式用二叉树表示如下,该算术表达式的中缀式为( ),其后缀式为(请作答此空)。A.abc+-d*B.abcd*+-C.ab-c+d*D.abcd+*-

对于后缀表达式 a b c - + d *(其中,-、+、*表示二元算术运算减、加、乘),与该后缀式等价的语法树为( )。

算术表达式采用逆波兰式表示时不用括号,可以利用(1)进行求值。与逆波兰式ab-cd+*对应的中缀表达式是(2)。空白(1)处应选择()A、数组B、栈C、队列D、散列表

中缀表达式3*(X+2)-5所对应的后缀表达式为()。

后缀算术表达式24 8 + 3 * 4 10 7 - * /所对应的中缀算术表达式为(),其值为()。

算术表达式(a-b)*c+d的后缀式是()(+、-、*表示算术的加、减、乘运算,运算符的优先级和结合性遵循惯例)。A、bc–d*a+B、abc–d*+C、ab–c*d+D、abcd–*+

填空题后缀算术表达式24 8 + 3 * 4 10 7 - * /所对应的中缀算术表达式为(),其值为()。

单选题已知一算术表达式的中缀形式为A+B*C-D/E,后缀形式为ABC*+DE/,其前缀形式为( )。A-A+B*C/DEB-A+B*CD/EC-+*ABC/DED-+A*BC/DE

单选题算术表达式采用逆波兰式表示时不用括号,可以利用(1)进行求值。与逆波兰式ab-cd+*对应的中缀表达式是(2)。空白(1)处应选择()A数组B栈C队列D散列表

填空题中缀表达式3*(X+2)-5所对应的后缀表达式为()。