手工转换中缀式与前、后缀式 - 坐看云起 - 博客园 http://www.cnblogs.com/hsxixi/archive/2011/10/26/2224869.html

做题时遇到了一个新概念--后缀式。百度了一下,发现了一篇意思的文章

【1】求值:

1.1 中缀式求值:(不用说了吧,你懂的)

1.2 前、后缀式求值:程序求的话,当然是设栈,可是“栈”这玩意是计算机的思维模式,咱们人类要在脑子里维护个栈,那个智商要求是比较高的,以本人比较低的智商来说是相当的困难。所以,曲线救国:把前、后缀式转换成中缀式,中缀式求值参照上面一条。

【2】转换

  因为通过心算或画图模拟栈的运算都不是很方便,所以总结下述方法。

1.1 后缀式(前缀式)转中缀式 

举例:如希望将后缀式  ab*cde/-f*+  转换为中缀式

        

        从左向右查找运算符,找到则将该符号与前面两数结合,循环即可。

1.2 中缀式转后缀式(前缀式)

举例:请将中缀式  a * ( b *(c+d/e) - f)  转换为后缀式

      

      

      首先按照运算符的优先级对所有的运算单位加括号,然后,画图将括号内符号移动到相应括号后并去除括号。BTW,这个画法没见别人用过,属于原创范畴,如有雷同,纯属偶然。另外,如果您只有一支黑色铅笔,可以考虑小括号、方括号花括号齐上阵。

手工转换中缀式与前、后缀式(转)相关推荐

  1. 由中缀式转化为后缀式

    比如: 10+(18+9*3)/ 15 - 6 步骤如下: 首先初始化两个栈,S1,S2:S1存操作数,S2存运算符,然后从左到右扫描, 1.遇到( ,直接进栈 ,遇到 ) 时,把S2中的操作数一直到 ...

  2. nyoj 1272 表达式求值(中缀式转后缀式)

    表达式求值 时间限制:1000 ms  |  内存限制:65535 KB 难度:3 描述 假设表达式定义为: 1. 一个十进制的正整数 X 是一个表达式. 2. 如果 X 和 Y 是 表达式,则 X+ ...

  3. NYOJ 467 中缀式变后缀式

    中缀式变后缀式 时间限制:1000 ms  |  内存限制:65535 KB 难度:3 描述 人们的日常习惯是把算术表达式写成中缀式,但对于机器来说更"习惯于"后缀式,关于算术表达 ...

  4. PTA7-4 后缀式求值 (25分) (题目 + 代码 + 详细注释 + 坑点分析)

    我们人类习惯于书写"中缀式",如 3 + 5 * 2 ,其值为13. (p.s. 为什么人类习惯中缀式呢?是因为中缀式比后缀式好用么?) 而计算机更加习惯"后缀式&quo ...

  5. 使用栈解决的一类经典问题:表达式转换及求值;中缀表达式;前缀表达式,后缀表达式,中缀转前缀;中缀转后缀;后缀表达式求值;波兰式,逆波兰式

    文章目录 背景知识 表达式转换问题(考研经典) 一:手工转换 (1)中缀转前缀和中缀转后缀 (2)前缀转中缀和后缀转中缀 二:用栈实现表达式转换 (1)中缀转后缀 (2)中缀转前缀 表达式计算问题(使 ...

  6. nyoj-257-郁闷的C小加(一 )中缀式变后缀式

    题目链接:here~~~~~~~ 今天看了此题,感觉栈和队列很好用,进一步深入了解 一个算术表达式,含有数字(为简化处理,数字只有一位),运算符:+.-.*,以及括号,求表达式的值. 给出的表达式是一 ...

  7. c 语言表达式求值中缀变后缀,表达式求值关于中缀式转后缀式的问题!

    已结贴√ 问题点数:10 回复次数:6 表达式求值关于中缀式转后缀式的问题! 本人看资料的时候遇到一段代码,这段代码中转为后缀式的优先级那句不明白,请大神赐教,代码如下(c语言) #include # ...

  8. 语法树,前缀式,中缀式,后缀式

    前序遍历:根左右 中序遍历:左根右 后序遍历:左右根 前缀式:+AB 中缀式:A+B 后缀式:AB+ 例题一: 前序遍历(前缀式):- + 4 * 1 - 5 2 / 6 3 根在前,从最后开始:-5 ...

  9. SDUT OJ 2132 (一般算术表达式转换成后缀式)

    题目描述 Description 对于一个基于二元运算符的算术表达式,转换为对应的后缀式,并输出之. Input 输入一个算术表达式,以'#'字符作为结束标志. Output 输出该表达式转换所得到的 ...

最新文章

  1. 函数指针到文本反汇编
  2. VMware 虚拟化编程(13) — VMware 虚拟机的备份方案设计
  3. Apache ECharts各种图表页面展示
  4. 热血江湖最新服务器,《热血江湖》2020年6月2日部分服务器数据互通公告
  5. 带你自学Python系列(十一):Python函数的用法(一)
  6. 【图像处理】MATLAB:表示与描述
  7. 数据计算中间件技术综述
  8. vs附加其它计算机应用到进程,如何将VS代码附加到在docker容器中运行的节点进程...
  9. 10年老电脑如何提速_电脑上如何提取图片中的文字?教你3个方法,10秒轻松搞定...
  10. mybatisplus修改单个属性_SolidWorks工程图比例:整体修改与单视图修改
  11. 网易云音乐的所有歌手列表
  12. 实验记录 | 8/7 阶段性结果整理(一)
  13. GeoServer中的WPS服务-概念
  14. 有趣的SQL DIGEST
  15. YYModel 简单解析
  16. 使用oschina的git服务器
  17. java没有舞台_不会偷懒的程序员不是好程序员!
  18. BetaFlight模块设计之十:磁力计任务分析
  19. 笑话类网站推广的几种很实用的方法
  20. ORM框架Gorm-删除记录

热门文章

  1. 查询mysql数据库中表的所有字段名
  2. android 瘦脸模式 sdk,大眼瘦脸加磨皮通通不能少,论美颜SDK是如何实现的
  3. 二阶低通滤波器IIR的五个参数推导过程
  4. 伯恩半导体 - ESD 选型指南
  5. Shell显示系统时间的全年日
  6. Python - 实现渐变色的RGB计算
  7. 【错误记录】Git 使用报错 ( error: The branch ‘feature1‘ is not fully merged. )
  8. Linux刻录光盘win10认不到,Windows10系统读不取DVD光驱和刻录光盘
  9. webp怎么转png?图片webp格式怎么转换?
  10. python 简单的颜色序列生成器