介绍
前缀表达式、中缀表达式、后缀表达式指的是在一个表达式中对于操作符与操作数之间的不同的位置关系的表述方式。前缀表达式又称为波兰式,后缀表达式又称为逆波兰式。但要注意的是逆波兰式并不是波兰式的简单反转。
对于人类来说更容易理解和运用的表达式是中缀表达式,所以通用的算数或逻辑运算的表示方法都是用的中缀表达式。
例如常见的算术表达式:1 + 2
, A ⨁ B
等
人们可以从轻松地从表达式中读取到1
和2
做了相加的运算,A
和B
做了异或运算。
但是对于计算机来说中缀表达式不容易理解,特别是复杂的需要考虑运算优先级的表达式。借助前缀表达式和后缀表达式基于堆栈可以快速求值。
前缀表达式(波兰式)和后缀表达式()最早由波兰数学家扬·卢卡西维茨提出^1。
前缀表达式
特点
前缀表达式的特点是操作符在操作数之间。
中缀表达式转化为前缀表达式
将中缀表达式转化为前缀表达式有两种转换方式:分别是二叉树转换和堆栈转换。