📜  门| GATE-CS-2002 |第 44 题

📅  最后修改于: 2021-09-25 07:02:04             🧑  作者: Mango

要计算没有任何嵌入函数调用的表达式:
(A)一叠就够了
(B)需要两个堆栈
(C)需要与表达式树的高度一样多的堆栈
(D)一般情况下需要图灵机答案:(一)
解释:
任何表达式都可以转换为 Postfix 或 Prefix 形式。前缀和后缀评估可以使用单个堆栈完成。例如:给出表达式 ’10 2 8 * + 3 -‘。
将 10 压入堆栈。
将 2 推入堆栈。
将 8 压入堆栈。
当运算符“*”出现时,从堆栈中弹出 2 和 8。
在堆栈中推送 2 * 8 = 16。
当运算符“+”出现时,从堆栈中弹出 16 和 10。
在堆栈中推送 10 * 16 = 26。
将 3 压入堆栈。
当运算符“-”出现时,从堆栈中弹出 26 和 3。
在堆栈中推送 26 – 3 = 23。
因此,23 是使用单堆栈获得的答案。

因此,选项(A)是正确的。
如果您发现上面的帖子有任何错误,请在下面发表评论。这个问题的测验