博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
中缀表达式转后缀表达式
阅读量:7020 次
发布时间:2019-06-28

本文共 493 字,大约阅读时间需要 1 分钟。

写之前应该介绍一个厉害的波兰数学家--Jan Lukasiewicz(鲁卡谢维奇),他想到了一种不需要括号的后缀表达法,我们为了纪念他,把它称为逆波兰(Reverse Polish Notation,RPN)表示。

我们把平时所用的标准四则运算表达式,如:9+(3-1)×3+10/2,称为中缀表达式。

把9 3 1 - 3 * + 10 2 / +(此处由上一行的中缀表达式例子转化而来) 这种不需要括号表示的形式叫做后缀表达式,也是计算机非常喜欢的计算式。

转换规则:

  从左到右遍历中缀表达式的每个数字和符号,若是数字就输出,即成为后缀表达式的一部分;若是符号,则判断其与栈顶符号的优先级,是右括号或优先级低于栈顶符号(乘除优先加减)则栈顶元素依次出栈并输出,并将当前符号进栈,一直到最终输出后缀表达式。

  注意:从左到右遇到的左括号也要进栈。其它的按照规则进出栈。

  最核心的原理还是栈的后进先出,只是将符号作为进栈出栈的元素。

写于2014年12月24日。

转载于:https://www.cnblogs.com/xiangxinhouse/p/6218533.html

你可能感兴趣的文章
隐马尔可夫HMM中viterbi算法
查看>>
UOJ #449. 【集训队作业2018】喂鸽子
查看>>
优化WebLogic 服务器性能参数
查看>>
论普通程序员与架构师
查看>>
高性能的JavaScript--数据访问(2)
查看>>
线程池-Threadlocal
查看>>
Mac MySQL 启动失败
查看>>
2017 5月15日上午
查看>>
整理UWP中网络和设备信息获取的帮助类,需要的拿走。
查看>>
用户访问网站的流程
查看>>
重积分与曲线积分补充习题
查看>>
IoC
查看>>
spring源码深度解析笔记
查看>>
PIC914SEG设置方法
查看>>
练手小游戏(一个开始
查看>>
基于unoconv的在线office预览
查看>>
JSON字符串与Map互转
查看>>
工具的链接
查看>>
第十二章:window对象
查看>>
《构建之法》第一章读后随笔
查看>>