波兰表达式的由来
1920年,波兰科学家扬·武卡谢维奇(Jan ukasiewicz)发明了一种不需要括号的计算表达式的表示法将操作符号写在操作数之前,也就是前缀表达式,即波兰式(Polish Notation, PN)。
波兰表达式的用法
比如一个波兰式:+ 2 * 3 - 5 1
,使用方法如下,先进行扫描,如果出现一个operator后面跟着俩operand的情况,那就用这个运算符对两个数字进行计算,并且把结果返回到原来的位置。如此重复。像这个栗子就是:
+ 2 * 3 - 5 1
+ 2 * 3 4
+ 2 12
14
实际上,这个是算式 2 + 3 * ( 5 - 1 )
的波兰表达式。
波兰式与其他的表达式
一般我们人类使用的,比如2 + 3 * ( 5 - 1 )
称为中缀表达式 ,需要用括号指明运算顺序;
上面的这种:+ 2 * 3 - 5 1
就是所谓的波兰式,或者叫前缀表达式 ,因为运算符在前面;
还有另一种,如:2 3 5 1 - * +
叫做逆波兰式(Reverse Polish Notation) ,也叫后缀表达式。
中缀转换为后缀可以使用栈来操作,此处不详述。
2018年03月10日01:30:01