什么叫逆波兰表达式?
来源:互联网 发布:php 三目运算符 简写 编辑:程序博客网 时间:2024/05/01 05:10
举个栗子:
现在我们学的1+1,这叫做中缀表达式,就是运算符处于两个值之间的,这叫做中缀表达式。
逆波兰表达式,又称为后缀表达式,你猜猜是怎样表示的呢?棒棒的你一定能猜出来,没错就是运算符在后面的表达式呗。
1 1 +这叫做逆波兰表达式咯,很简单吧。波兰逻辑学家J.Lukasiewicz于1929年提出了另一种表示表达式的方法,按此方法,每一运算符都置于其运算对象之后,故称为后缀表示。
为啥不以作者名字命名这个表达式呢。当然是因为这个坐着的名字冗长,不便于学习交流啦。
逆波兰表达式,它的语法规定,表达式必须以逆波兰表达式的方式给出。逆波兰表达式又叫做后缀表达式,下面是一些具体的例子:
正常的表达式 逆波兰表达式
a+b ---> a,b,+
a+(b-c) ---> a,b,c,-,+
a+(b-c)*d ---> a,b,c,-,d,*,+
a+d*(b-c)--->a,d,b,c,-,*,+
a=1+3 ---> a=1,3 +
逆波兰表达式是一种十分有用的表达式,它将复杂表达式转换为可以依靠简单的操作得到计算结果的表达式。例如(a+b)*(c+d)转换为ab+cd+*
为啥我们放着好好的中缀表达式不用,偏要出奇用这个东西?只是为了显得高深一点么?当然不是,人类喜欢中缀表达式计算,可计算机计算起来就没那么容易了,
你想想几层括号,又要考虑优先级,只用if套,套套套多麻烦呀。
欢迎来到我的IT 博客http://www.nightsong.cc逆波兰表达式是一种十分有用的表达式,它将复杂表达式转换为可以依靠简单的操作得到计算结果的表达式。例如(a+b)*(c+d)转换为ab+cd+*
为啥我们放着好好的中缀表达式不用,偏要出奇用这个东西?只是为了显得高深一点么?当然不是,人类喜欢中缀表达式计算,可计算机计算起来就没那么容易了,
你想想几层括号,又要考虑优先级,只用if套,套套套多麻烦呀。
它的优势在于只用两种简单操作,入栈和出栈就可以搞定任何普通表达式的运算。其运算方式如下:
如果当前字符为变量或者为数字,则压栈,如果是运算符,则将栈顶两个元素弹出作相应运算,结果再入栈,最后当表达式扫描完后,栈里的就是结果。
QQ:1623231307
0 0
- 什么叫逆波兰表达式?
- 逆波兰表达式的实现(也叫后缀表达式)
- 波兰、逆波兰表达式
- 什么叫表达式?什么叫语句? ~
- 波兰表达式和逆波兰表达式
- 波兰表达式和逆波兰表达式
- 叫你如何快速得到逆波兰表达式——适用于笔试题
- 逆波兰表达式
- 逆波兰表达式
- 逆波兰表达式
- 逆波兰表达式
- 逆波兰表达式rpn
- 逆波兰表达式
- 逆波兰表达式
- 逆波兰表达式实验
- 逆波兰表达式
- 逆波兰表达式
- 逆波兰表达式
- 加粗,下划线,斜体 LATEX
- RNN、LSTM资源
- 第十八课:对象的构造(中)----------狄泰软件学院
- 阿里云Maven中央仓库配置
- try catch finally 关闭问题
- 什么叫逆波兰表达式?
- leetcode 179 largest number
- MySQL中查询计划不一致、子查询效率低解决方案
- winform版Geckofx(Gecko)如何执行js
- 解决上传图像后加载图片旋转的错向
- Spring-boot中thymeleaf模板使用小结
- linux下/dev/dsp:No such file or directory解决方法
- windows、linux查看命令帮助
- TypeScript入门-1.简介及开发环境