栈的应用---四则运算表达式求值
2015-06-30 14:17
281 查看
栈的应用—四则运算表达式求值
概念:二叉树的三种表达方式,前序(根-左-右),中序(左-根-右),后序(左-右-根)——分别对应前缀,中缀,后缀表达式栈的应用:对后缀表达式进行计算
原理:将中缀表达式转到后缀表达式
步骤1:根据中缀表达式画出二叉树(关键所在)
步骤2:后序遍历方式遍历当前二叉树,得到后缀表达式
步骤3:计算后缀表达式,计算规则:a)每个操作数依次被压入栈中;
b)当一个运算符到达时,从栈中弹出相应数目的操作数(对二元运算符来说就是两个操作数);
c)将运算符作用于弹出的操作数,再把运算结果压入栈中进行计算。如此直到得到最终结果。
例子:3+(4-2)*4-10/2+8*7
后缀表达式:342-4*+102/-87*+
最后计算表达式结果
相关文章推荐
- NSNumber、NSValue、NSData区别与联系
- 微信网站开发需要注意事项(1)
- Unity3d《Shader篇》自定义光照模型
- org.tinygroup.templateweb-模板文件处理器
- Laravel 路由和控制器子目录
- uva 10130 超级甩卖 SuperSale
- 109.按规定平移字符串前导*号
- onvif规范中文介绍
- 浏览器 CSS Hack 收集
- ASP.NET 设置 UTF-8 在IE浏览器
- git 找回代码纪录
- Github上优秀的Objective-C项目简介
- Android 中如何使用 enum / 枚举
- 由Mac ME 控制台中文乱码而引出的一系列问题
- iOS学习笔记1--在xcode6以上的版本中不使用storyboard以及部分控件使用
- [Solution] 1分钟使用log4net
- ios空模板配置
- Linux运维系统工程师系列---18
- 异常 java.lang.UnsatisfiedLinkError,so库没有加载
- gcc编译器家族