1:举一个例子:(从图片开始)
1:表达式的中缀形式:(4+1*(5-2))-6/3。这是我们平时缩写的表达式,将运算符写在两个操作数中间的表达式,称作中缀表达式。树的中根遍历(左中右)。(这里计算结果为5,正常计算)
2:前缀表达式:- + 4 * 1 - 5 2 / 6 3 。前缀表达式是将运算符写在两个操作数之前的表达式。树的先根遍历(中左右)。
3:后缀表达式:4 1 5 2 - * + 6 3 / - 。将运算符写在两个操作数之后的表达式称作后缀表达式。树的后根遍历(左右中)。
计算示范:
(1:后缀表达式的计算
后缀表达式没有括号,运算符的顺序即为实际运算顺序,在求值过程中,当遇到运算符时,只要取得前两个操作数就可以立即进行计算。当操作数出现时,不能立即求值,需要先保存等待运算符。对于等待中的操作数而言,后出现的先运算,所以需要一个栈辅助操作。
后缀表达式的运算过程如下:
step1:设置一个栈
step2:从