首页 > 解决方案 > 堆栈和算术评估

问题描述

堆栈被认为是算术评估的理想数据结构。为什么会这样?
为什么我们甚至需要一个用于算术评估的数据结构?我已经研究了一段时间,但仍然感到困惑。我不明白前缀和后缀表达式的用途是什么,因为中缀表达式的可读性很强。

标签: data-structuresstackpostfix-notationinfix-notationprefix-notation

解决方案


关于为什么后缀/前缀而不是中缀的部分答案在这里得到了很好的解释。作为摘要中缀可读但不容易解析
至于为什么在这里使用堆栈是:
1:在O(1)时间内推送,弹出非常有用进行评估。
2:push:将操作数加到栈上。
3:pop:删除操作数并计算表达式(二进制) 4:最终结果是解析后唯一留在堆栈上的结果


推荐阅读