(1) -A+B-C+D 答案为 A-B+C-D+
(2) A*-B+C 答案为 AB-*C+
答案我是知道的,但我不知道是怎得来的,请懂的给我说说!麻烦了!!
其实第一个我是知道的。。。,关键是第二个我不会,你能给我讲讲吗?怎么规约的?麻烦了!!
追答我举的第一个例子其实是从后缀表达式归约到中缀表达式,下面就用第二个例子举例如何把中缀表达式归约为后缀表达式吧(原则是:单操作符碰到字母就归约(op num 归约成 num op),双操作符,两边都是字母才归约(num1 op num2 归约成 num1 num2 op),可以归约就马上归约):
A*-。。碰到的是负号“-”,而不是一个数字,所以等待负号归约,负号是单操作数,所以碰到B就归约成B-(用X代替这个B-);A*X。。满足归约条件,归约成AX*(用Y代替这个AX*);Y+C满足归约条件,归约成YC+。
归约完,依次代入:YC+ => AX*C+ => AB-*C+
看看数据结构的书应该就能懂了
怎么画出这个题对应的表达式的对应的二叉树哪?谁做根,根的孩子结点的左右子树又是谁?