表达式a/ (b+c)*d对应的后缀表达式是?


第一步,把每一步运算都加一个括号:
a/ (b+c)*d

第二步,把括号内的运算符移到括号外(右侧括号外):
a (bc)+/d*

第三步,把所有括号去掉:
abc+/d*

所得即为后缀表达式。




例:
表达式 a*(b+c)-d 的后缀表达式?
①   ((a*(b+c))-d) 
②   ((a(bc)+)*d)-
③      abc+*d-




另查自百度知道:
表达式 a*(b+c)-d是中缀表达式,转化成二叉树后,它是中序遍历的结果
二叉树如下图:
______(-)_________
_____/___\________
____(*)__(d)______
____/__\__________
__(a)__(+)________
______/___\_______
____(b)___(c)_____
后缀表达式,就是后序遍历该二叉树,所得到的序列,也就是:abc+*d-
前缀表达式,就是前序遍历二叉树,所得到的序列,是:-*a+bcd

你可能感兴趣的:(表达式/遍历,数据结构)