图解后缀表达式的计算过程
为了解释后缀表达式的好处,我们先来看看,计算机如何应用后缀表达式计算出最终的结果20的。
后缀表达式:9 3 1-3*+ 10 2/+
- 规则:从左到右遍历表达式的每个数字和符号,遇到是数字就进栈,遇到是符号,就将处于栈顶两个数字出栈,进行运算,运算结果进栈,一直到最终获得结果。
下面是详细的步骤:
1. 初始化一个空栈。此桟用来对要运算的数字进出使用。
2. 后缀表达式中前三个都是数字,所以9、3、1进栈。
3. 接下来是减号“-”,所以将栈中的1出栈作为减数,3出栈作为被减数,并运算3-1得到2,再将2进栈。
4. 接着是数字3进栈。
5. 后面是乘法“*”,也就意味着栈中3和2出栈,2与3相乘,得到6,并将6进栈。
6. 下面是加法“+”,所以找中6和9出找,9与6相加,得到15,将15进栈。
7. 接着是10与2两数字进栈。
8. 接下来是符号因此,栈顶的2与10出栈,10与2相除,得到5,将5进栈。
9. 最后一个是符号“+”,所以15与5出找并相加,得到20,将20进栈。
10. 结果是20出栈,栈变为空。
- 果然,后缀表达法可以很顺利解决计算的问题。但是我有个疑问,就是这个后缀表达式“9 3 1-3*+ 10 2/+”是如何通过算式“9+(3-1)*3+10/2”变化而来呢?
图解后缀表达式的计算过程相关推荐
- Java堆栈的应用2----------中缀表达式转为后缀表达式的计算Java实现
1.堆栈-Stack 堆栈(也简称作栈)是一种特殊的线性表,堆栈的数据元素以及数据元素间的逻辑关系和线性表完全相同,其差别是线性表允许在任意位置进行插入和删除操作,而堆栈只允许在固定一端进行插入和删除 ...
- 栈应用(中缀表达式转后缀表达式并计算后缀表达式的值)
[0]README 0.1) 本文旨在总结 中缀表达式转后缀表达式并计算后缀表达式的值 的步骤,并给出源代码实现: 0.2) 本文中涉及到的源代码均为原创,是对中缀转后缀和计算后缀的简单实现,(旨在理 ...
- 阿龙学堂-中缀-后缀表达式的计算
1.简介 在数据结构中,有一种数据结构叫做:Stack,LIFO(Last In First Out),在这个结构中,有个后缀表达式计算,运用该数据结构进行计算. 栈是一种只允许一端操作的线性数据结构 ...
- Python生成后缀表达式及计算
1. 什么是后缀表达式 后缀表达式(也叫做逆波兰式或逆波兰记法),其实就是将运算符写在操作数之后的式子.比如我们平时写a+b,这是中缀表达式,写成后缀表达式就是ab+.下面来看一个更复杂的例子: 求( ...
- 数据结构与算法——中缀转后缀表达式以及计算
中缀表达式转后缀表达式 思路分析: 初始化两个栈:运算符栈s1 和储存中间结果的栈s2 从左至右扫描中缀表达式 遇到操作数,将其压入s2 遇到运算符时,比较其与s1 栈顶运算符的优先级 如果s1 为空 ...
- 前缀、中缀和后缀表达式详解,中缀表达式到后缀表达式的转换规则,以及后缀表达式的计算规则,附计算代码
1. 中缀.前缀和后缀表达式 1.1 中缀表达式 首先,中缀表达式的这个"缀"指运算符在两个操作数的位置.中缀表达式其实就是我们常用的算术表达式,比如 2 + 9 - (32 * ...
- 《数据结构》:中缀表达式转后缀表达式 后缀表达式的计算
目录 一.基本概念 二.中缀表达式转后缀表达式 例 中缀表达式 2*(3+5)+7/1-4 转换为后缀表达式 三.后缀表达式的计算 例 后缀表达式 2 3 5 + * 7 ...
- 中缀转后缀表达式并计算
注:本博客是基于<数据结构>这门课,主要是为了自己考研,准备专业课 图解转自:中缀转后缀算法 中缀转后缀算法 中缀表达式转后缀表达式遵循以下原则: 遇到操作数,直接输出 当栈为空时,若遇到 ...
- 前缀中缀后缀表达式的计算求值
原文在这里 表达式 前缀表达式(波兰表达式) 前缀表达式又称波兰式,前缀表达式的运算符位于操作数之前 举例说明: (3+4)×5-6 对应的前缀表达式就是 - × + 3 4 5 6 前缀表达式求值 ...
最新文章
- HDU 1406 完数
- 不使用fastreport自带的条码组件打印快递单(一款很不错的条码组件下载)
- 所有的经历都是财富 --致我的2016
- 成功解决没有tf.nn.rnn_cell属性
- 攻防世界Reverse第六题open-source
- ssm使用全注解实现增删改查案例——IDeptService
- macOS 使用手册
- gp数据库迁移数据到mysql_greenplum数据迁移
- TensorFlow YOLO3
- Android 实现 欢迎界面 自动跳转 到 主界面
- 怎么用微信打开qq连接到服务器地址,微信上能打开的链接如何在qq上打?
- vue-oss阿里云上传图片
- 关于微信无法登陆网页版的问题
- VMware虚拟机启动错误(正在被占用、内部错误)等问题
- windows渗透利器——PentestBox的内功和攻击力
- 青藤 #44 比例简化
- struts2升级到2.5.30总结
- SpringBoot项目打包发布
- Android商城App购物车规格联动选择
- java false 0_Java中false指的是1还是0
热门文章
- mac pycharm安装设置_入门python,这样操作,简单易学(安装教程)
- 曾为浮云遮望眼,平沙莽莽黄入天。 终有一缘得一道,拨开云雾见青天! ——论如何快速删除上亿级数据集思路
- android开花动画,15款界面最漂亮Android应用程序揭晓
- java数据导出ex_Java高级特性注解:注解实现Excel导出功能
- 效果直逼flash的Div+Css+Js菜单
- 利用 QQWry.Dat 实现 IP 地址高效检索(PHP)
- 钉钉新增“下班勿扰”功能:次日上班前不接受任何消息!
- iPhone 14系列贴膜曝光:将采用开孔屏方案 四边框极窄
- 苹果推出“轻触支付”新方式 目前仅面向美国
- 男子花41万买手镯,被店员议论“买不起” 气到要住院