表达式a*(b+c)-d的后缀表达形式为(7)。

admin2019-05-23  29

问题 表达式a*(b+c)-d的后缀表达形式为(7)。

选项 A、abcd*+--
B、abc+*d-
C、abc*+d-
D、-+*abcd

答案B

解析 题目要求根据已知的表达式写对应后缀表达式。解这种题,如果考生知道了前缀、中缀、后缀表达式有何关联,有什么特点,那么解题就非常轻松了。其实前缀、中缀、后缀的得名,是从二叉树而来的,也就是把一个表达式转化为一棵二叉树后,对二叉树进行前序遍历得到前缀表达式,对二叉树进行中序遍历得到中缀表达式(也就是一般形式的表达式),对二叉树进行后序遍历得到后缀表达式。
   因此,我们只要把表达式转换成二叉树的形式,再对二叉树进行后序遍历,即可得到正确答案。但现在最主要的问题是如何构造这棵树。
   构造的规则是这样的,所有的操作数只能在叶子结点上,操作符是它们的根结点,括号不构造到二叉树中去,构造树的顺序要遵循运算的顺序。在表达式a*(b+c)-d中最先计算b+c,所以先构造图4-5的部分。
            
   然后,把b+c的结果与。进行运算,所以有图4-6所示的结果。
             
   最后,把运算结果和d相减,最终得到的二叉树如图4-7所示。
            
   对图4-7的二叉树进行后序遍历得到序列abc+*d-,所以正确答案应是B。
转载请注明原文地址:https://jikaoti.com/ti/hWx7FFFM
0

相关试题推荐
最新回复(0)