什么是中缀表达式和后缀表达式?
中缀表达式是一个通用的算术或逻辑公式表示方法, 操作符是以中缀形式处于操作数的中间(例:3 + 4),中缀表达式是人们常用的算术表示方法。
后缀表达式,又称逆波兰式,指的是不包含括号,运算符放在两个运算对象的后面,所有的计算按运算符出现的顺序,严格从左向右进行(不再考虑运算符的优先规则)。
在计算机中,算术运算是通过后缀表达式的形式进行的,计算过程可以借助栈这个数据结构来实现。
如何将中缀表达式转化为后缀表达式?
将中缀表达式转化为后缀表达式的方法(计算机并不是使用该逻辑):
- 按运算符优先级对所有运算符和它的运算数加括号(原本有括号的不用加)。
- 把运算符移动到对应的括号后。
- 去掉括号。
举例:
中缀表达式:(5 + 20 + 1×3) / 14
( ( (5 + 20) + (1 × 3) ) / 14 )
( ( (5 20) + (1 3) × ) + 14 ) /
相应的后缀表达式: 5 20 + 1 3 × + 14 /