数学表达式的计算是我们日常工作的一部分,对于我们来说也相对比较容易。不过如果是计算机呢?可能就不那么简单了。为了让计算机知道计算规则,我们需要对我们通常所使用的所谓中缀表达式进行一下转换,而其中一种转换方法就是后缀表达式。
概念
后缀表达式,即逆波兰式。这种表达式不包含括号,运算符放在两个运算对象的后面,所有的计算按运算符出现的顺序,严格从左向右进行(不再考虑运算符的优先规则)。其优点是根据运算对象和算符的出现次序进行计算,不需要使用括号,也便于用机械实现求值。
中缀到后缀的转换
1. 按正确的运算顺序给每组运算两侧加上圆括号;
2. 在每一组圆括号中,将运算符移动到右括号之前;
3. 去掉所有的圆括号。
A * B + C / D
这是我们熟悉的中缀表达式,其正确的运算顺序是,首先计算A * B以及C / D,然后相加得到最终结果。现在我们依据上面的步骤将其转换为后缀表达式。