首页 > 试题广场 >

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

[问答题]

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

有两种方式,一是用堆栈,另一种是用表达式二叉树
法一:
遇到数字则直接输出,遇到运算符或者左括号入栈,如果遇到右括号,则出栈到左括号为止,如果当前运算符比栈顶运算符的优先级高,则入栈,否则出栈,直到满足当前运算符的优先级比栈顶高为止,如果是括号内表达式依然如此。
法二:
利用表达式二叉树,运算符为子树根,操作数为叶子节点。利用后序遍历就可得到后序表达式序列。表达式树如下

可知答案为ab-c-d*
编辑于 2017-09-14 23:51:22 回复(0)
ab-c-d*
发表于 2019-10-16 23:46:35 回复(0)
ab-c-d*
发表于 2017-08-28 12:05:19 回复(0)