一、中缀、前缀、后缀表达式简介
表达式中的缀是相对于操作数而言的,即运算符在两个操作数中间称为中缀表达式,运算符在两个操作数前面称为前缀表达式,操作数在两个操作数之后称为后缀表达式。
1.中缀表达式
中缀表达式时我们平常见到的表达式,例如:400 + 20
运算符
+
在操作数400
和20
中间
2.前缀表达式
前缀表达式也称为波兰式,例如:+ 400 20
运算符
+
在操作数400
和20
前面
3.后缀表达式
后缀表达式也称为逆波兰式,例如: 400 20 +
运算符
+
在操作数400
和20
后面
4.举个栗子:
中缀表达式:10 + ( 20 / 4 - 5 ) * 2
前缀表达式(波兰式):+ 10 * - / 20 4 5 2
后缀表达式(逆波兰式):10 20 4 / 5 - 2 * +
二、中缀、前缀、后缀表达式的转换
中–>前、后:
根据定义将操作数置于运算符的前面(或者后面)即可,注意中缀表达式中出现括号时,括号内的表达式运算优先级最高。
前、后–>中:
逆向思维,把运算符前面(或者后面)两个操作数使用该运算符进行连接,即运算符位置放在两个操作数中间。
前–>后 或者 后–>前:
可以先转换成中缀表达式,再进行下一步转换。
三、应用
计算机在进行数值运算时,需要把人类日常使用的中缀表达式转换成后缀表达式或者前缀表达式,方便进行数据存储、获取和运算。
练习:表达式求值
nowcoder[牛客网–在线编程题–表达式求值]