表达式 a*(b+c)-d 的后缀表达式?

作者&投稿:甘侍 (若有异议请与网页底部的电邮联系)
表达式a*(b+c)-d的后缀表达形式为~

B
这个这样分析
((a*(b+c))-d) => (a*(b+c)),d,- => a,(b+c),*,d,- => a,b,c,+,*,d,-

后缀表达式,就是后序遍历该二叉树,所得到的序列,也就是:abc+*d-
同样的道理,前缀表达式是前序遍历二叉树,所得到的序列,是:-*a+bcd

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

首先输出A(因为不是运算符),然后把*储存到栈中,然后遇到(,他比*的优先级高,所以压入栈,再输出B,然后遇到+,同样他比(的优先级高,继续压入栈,然后输出C,再遇到),他的优先级比+低,所以将+出栈,并输出+,然后再与(进行比较,两个优先级一样,将(直接出栈,再遇到-运算符,他的优先级比*低,所以将*出栈,并输出*,然后将-入栈,现遇到D,直接输出,然后将-输出,所以最后的结果就是ABC+*D-

根据所给表达式(其实正常的都是中缀表达式)可以构造二叉树



*
d


a
+


b
c
中缀表达式就是中序遍历a*(b+c)-d
后缀表达式就是后续遍历abc+*d-
前缀表达式就是前序遍历-*a+bcd

abc+*d-
想想堆栈


郾城区15273754367: 表达式A*(B+C) - D的后缀表达式是(A) ABCD*+ - (B) ABC+*D - (C) ABC*+D - (D) - +*ABCD -
中叔嵇速尔:[答案] 后缀表达式,就是后序遍历该二叉树,所得到的序列,也就是:abc+*d- 同样的道理,前缀表达式是前序遍历二叉树,所得到的序列,是:-*a+bcd

郾城区15273754367: 表达式a*(b+c) - d的后缀表达式是?abcd*+ - abc+*d - ?abc*+d -- +abcd?是哪个? -
中叔嵇速尔:[答案] 13题答案是B、abc+*d- 把原式看成一棵二叉树 - / \ * d a + / \ b c

郾城区15273754367: 表达式a*(b+C) - d的后缀表达式什么?什么叫中缀和后缀? -
中叔嵇速尔:[答案] 根据所给表达式(其实正常的都是中缀表达式)可以构造二叉树 — / \ * d / \ a + / \ b c 中缀表达式就是中序遍历a*(b+c)-d 后缀表达式就是后续遍历abc+*d- 前缀表达式就是前序遍历-*a+bcd

郾城区15273754367: 表达式A*(B+C) - D的后缀表达式是
中叔嵇速尔: 后缀表达式,就是后序遍历该二叉树,所得到的序列,也就是:abc+*d- 同样的道理,前缀表达式是前序遍历二叉树,所得到的序列,是:-*a+bcd

郾城区15273754367: 请问a*(b+c) - d/f的后缀表达式怎么写啊 -
中叔嵇速尔:[答案] abc+*df/-

郾城区15273754367: 表达式a*(b+c) - d的后缀表达形式为
中叔嵇速尔: B 这个这样分析 ((a*(b+c))-d) => (a*(b+c)),d,- => a,(b+c),*,d,- => a,b,c,+,*,d,-

郾城区15273754367: a*(b+c) - d的后缀表达式形式为? -
中叔嵇速尔: 表达式 a*(b+c)-d是中缀表达式,转化成二叉树后,它是中序遍历的结果 二叉树如下图:______(-)_________ _____/___\________ ____(*)__(d)______ ____/__\__________ __(a)__(+)________ ______/___\_______ ____(b)___(c)_____ 后缀表达式,就是后序遍历该二叉树,所得到的序列,也就是:abc+*d- 同样的道理,前缀表达式是前序遍历二叉树,所得到的序列,是:-*a+bcd

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网