利用栈结构计算表达式串算法
来源:互联网 发布:lol安妮舞会公主淘宝 编辑:程序博客网 时间:2024/06/06 11:49
算法思想:
- 将中缀表达式转化为后缀表达式
- 顺序的扫描后缀表达式中的每一个字符,并作如下操作:如果该字符为操作数,则将其压入栈中;如果该字符为操作符<operator>,则连续从栈中弹出两个操作数Y和X,并作运算操作X<operator>Y,并将计算结果压入栈中。当整个表达式串扫描完毕,栈顶存放的就是表达式的结果。
- 其中步骤1的算法思想如下:
- 从左至右扫描中缀表达式,如果遇到操作数时直接加入到后缀表达式串中;否则遇到操作符时,1、若为左括号'(',直接入栈;2、若为右括号')',则依次将栈中的操作符加入到后缀表达式中,直到遇到'(',并且将'('出栈;3、若为其他操作符,当其优先级高于栈顶操作符的优先级时,直接将其入栈,否则从栈顶开始,依次弹出比当前操作符优先级高或相等的操作符,直到遇到一个优先级比它低的操作符或者遇到左括号'('。当整个中缀表达式扫描完毕时,将栈中剩余的操作符依次弹出加入到后缀表达式中。
- 相应实现java代码:点击打开CODE链接
1 0
- 利用栈结构计算表达式串算法
- 利用栈结构计算代数表达式的值
- 利用双栈计算表达式
- 面试算法:利用堆栈计算逆向波兰表达式
- 《java数据结构与算法》笔记-CH4-8栈结构实现后缀表达式计算结果
- 栈(一)利用栈计算表达式
- 利用栈计算表达式的值
- 利用栈计算算数表达式的值
- 数据结构中利用栈计算算术表达式
- 利用栈计算表达式的值
- 利用栈结构生成后缀表达式
- 利用顺序栈计算后缀表达式(逆波兰表达式)
- 算法训练 表达式计算(栈)
- 表达式计算算法总结
- 表达式计算算法总结
- 表达式计算算法总结
- 算法训练 表达式计算
- 算法训练 表达式计算
- 开发资料与实例教程
- sqlserver 游标使用
- 不带表头结点的单向链表总结
- 在Ubuntu/Window下用Shadowsocks-Qt5和chrome中switchyOmega科学上网 翻蔷
- 虚基类 虚函数 纯虚函数
- 利用栈结构计算表达式串算法
- Android开发——获取并生成唯一识别码
- gulp-concat+uglify+cdnizer实现页面加载优化
- android 创建目录/文件/读写文件
- SparkSQL操作RDD转DataFrame
- hihcoder 1117 战争年代
- 高通平台常见的一些错误(持续更新)
- 349. Intersection of Two Arrays
- omnet++ :Cannot run program Error launch simulation for "项目名"