波兰法与逆波兰法

作者: c8a73a886522 | 来源:发表于2018-03-10 16:39 被阅读8次

身为初学者,能力有限,知识尚少,如有纰漏,还望海涵。

  对于表达式,通常有三种表示方法,前、中、后缀表示法。我们日常使用的数学算式就是中缀表示法。例:1+5*10-10/2

码文不易,希望支持,谢谢->支持原创

 波兰表示法

  波兰表示法(Polish notation,或波兰记法),是一种逻辑、算术和代数表示方法,其特点是操作符置于操作数的前面,因此也称做前缀表示法。波兰表示法——维基百科

 举个例子

一个算式: $ 1+5*10-10/2 $
用波兰法表示就是: $ - + 1 * 5 , 10 ,/, 10, 2 $
是不是有点反人类,有人就要问了,这玩意看着费劲,为啥要这么写?
答案就是,虽然这玩意人看着费劲,但是更便于机器使用。

 规则

那么如何去运算波兰表示法呢?
通过学习,我的总结是

  1. 在前面的符号后运算,后面的符号先运算。
  2. 每一步运算都是符号和后面两个数的运算。
  3. 运算之后把原来的算式替换成结果,继续之后的运算。

又如何把中缀算式转换成波兰表示法呢?

  1. 把操作数提出来,按照原顺序摆好。
  2. 根据运算步骤,在两操作数前加符号。如果已经有符号,则后加的在前面。

经过转换之后,不再需要括号。

 逆波兰表示法

  逆波兰表示法(Reverse Polish notation,RPN,或逆波兰记法),是一种是由波兰数学家扬·武卡谢维奇1920年引入的数学表达式方式,在逆波兰记法中,所有操作符置于操作数的后面,因此也被称为后缀表示法。逆波兰记法不需要括号来标识操作符的优先级。逆波兰表示法——维基百科

 举个例子

一个算式: $ 1+510-10/2 $
用波兰法表示就是: $ 1 , 5 , 10
+, 10 , 2 ,/- $
是不是有点反人类,有人就要问了,这玩意看着费劲,为啥要这么写?
答案就是,虽然这玩意人看着费劲,但是更便于机器使用。

 规则

那么如何去运算逆波兰表示法呢?
通过学习,我的总结是

  1. 在前面的符号先运算,后面的符号后运算。
  2. 每一步运算都是符号和前面两个数的运算。
  3. 运算之后把原来的算式替换成结果,继续之后的运算。

又如何把中缀算式转换成波兰表示法呢?

  1. 把操作数提出来,按照原顺序摆好。
  2. 根据运算步骤,在两操作数后加符号。如果已经有符号,则后加的在后面。

经过转换之后,不再需要括号。

支持原创

码文不易,希望支持,谢谢->支持原创

微信支付 微信支付

再次感谢,大家对本人的支持。

相关文章

  • 波兰法与逆波兰法

    身为初学者,能力有限,知识尚少,如有纰漏,还望海涵。   对于表达式,通常有三种表示方法,前、中、后缀表示法。我们...

  • ARTS第七周20200705

    Algorithm 逆波兰表达式求值 根据 逆波兰表示法,求表达式的值。 有效的运算符包括 +, -, *, / ...

  • LeetCode-150- 逆波兰表达式求值

    逆波兰表达式求值 题目描述:根据 逆波兰表示法,求表达式的值。有效的算符包括 +、-、*、/ 。每个运算对象可以是...

  • 汪都能理解的逆波兰计算器(C++实现)

    简介 EXPLANATION 逆波兰表示法(Reverse Polish notation, RPN)也称作后缀表...

  • LintCode - 逆波兰表达式求值(中等)

    版权声明:本文为博主原创文章,未经博主允许不得转载。 难度:中等 要求: 求逆波兰表达式的值。 在逆波兰表达法中,...

  • Day75 逆波兰表达式求值

    根据 逆波兰表示法,求表达式的值。 有效的算符包括 +、-、*、/ 。每个运算对象可以是整数,也可以是另一个逆波兰...

  • 力扣(LeetCode) -150 逆波兰表达式求值

    本题考察的是后缀(逆波兰)表达式和栈的使用 题目描述 根据逆波兰表示法,求表达式的值。 有效的运算符包括 +, -...

  • Leetcode150 Evaluate Reverse Pol

    根据逆波兰表示法,求表达式的值。 有效的运算符包括+,-,*,/。每个运算对象可以是整数,也可以是另一个逆波兰表达...

  • 【算法】逆波兰式求值

    逆波兰式求值 概念: 前缀表达式(波兰式):二元运算符总是置于与之相关的两个运算对象之前,所以,这种表示法也称为前...

  • LeetCode之Reverse Polish Notation

    1. 关于Reverse Polish Notation 摘自 维基百科 的解释: 逆波兰表示法(Reverse ...

网友评论

    本文标题:波兰法与逆波兰法

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