美文网首页
后缀表达式/逆波兰表达式

后缀表达式/逆波兰表达式

作者: fever105 | 来源:发表于2015-09-25 23:19 被阅读1255次

    后缀表达式/逆波兰表达式

    运算表达式的种类

    • a + b:中缀表达式 (Infix Notation),原因是运算符号在两个运算对象的中间。
    • + - a * b c d:前缀表达式 (Prefix Notation),运算符在运算对象前面,又称为波兰表达式。
    • a b c * - d +:后缀表达式 (Prefix Notation),运算符在运算对象后面,又称为逆波兰表达式。

    后缀表达式的优点

    • 相较于前缀表达式更易于转换,最左边一定为数字
    • 不用括号,依靠运算顺序确定运算符的优先级
    • 更符合计算机的计算方式。计算机通过从左至右读取后缀表达式,就可以将遇到的运算对象压入栈,在遇到运算符时就弹出两个运算对象,完成计算,再将结果压入栈。最后留在栈中的就是计算结果。

    中缀表达式转换为后缀表达式的方法

    a + b * c - (d + e)

    1. 按照运算符的优先级对所有的运算单位加括号。

      ((a + (b * c)) - (d + e))

    2. 转换中缀与后缀表达式后缀:把运算符号移动到对应的括号后面。

      ((a (b c) * ) + (d e) + ) -

    3. 把括号去掉,记得到了后缀表达式

      a b c * + d e + -

    可以发现,后缀表达式是不需要括号来调整运算优先级的。

    相关文章

      网友评论

          本文标题:后缀表达式/逆波兰表达式

          本文链接:https://www.haomeiwen.com/subject/vckwcttx.html