栈的应用—四则运算表达式求值
- 概念:二叉树的三种表达方式,前序(根-左-右),中序(左-根-右),后序(左-右-根)——分别对应前缀,中缀,后缀表达式
- 栈的应用:对后缀表达式进行计算
- 原理:将中缀表达式转到后缀表达式
- 步骤1:根据中缀表达式画出二叉树(关键所在)
- 步骤2:后序遍历方式遍历当前二叉树,得到后缀表达式
- 步骤3:计算后缀表达式,计算规则:a)每个操作数依次被压入栈中;
b)当一个运算符到达时,从栈中弹出相应数目的操作数(对二元运算符来说就是两个操作数);
c)将运算符作用于弹出的操作数,再把运算结果压入栈中进行计算。如此直到得到最终结果。
- 例子:3+(4-2)*4-10/2+8*7
后缀表达式:342-4*+102/-87*+
最后计算表达式结果
- 例子:3+(4-2)*4-10/2+8*7