【小白友好】中缀表达式转换后缀表达式之从心法则

中缀表达式转换后缀表达式的三种方法


中缀表达式 A+B*(C-D)-E/F 所对应的后缀表达式为 ABCD-*+EF/-
我在学习过程中总结了三种方法,以我个人觉得难易程度从高到低排序,当然我建议按顺序阅读,更有利于明白转换原理

1.利用栈

基本原则:由左至右依次扫描中缀表达式,其中

  • 不属于符号直接输出
  • 符号入栈
    • 如果是左括号,直接入栈
    • 如果是右括号,右括号会匹配走左括号,()一起不在栈内。在右括号拐走左括号之前,应将()内数据出栈输出
    • 如果是“ + - * / ”等符号,栈顶符号的优先级若大于等于即将入栈的符号,则输出栈顶符号;再将新的栈顶符号与即将入栈的符号进行优先级比较
  • 栈内若有剩余符号,则依次出栈输出
    在这里插入图片描述

2.加括号法

本方法包括三步:加括号,移号,去括号
②是在表达式①的基础上加括号
③的每一行都是重复移号和去括号这两步
我用不同颜色的笔标明了符号对应的括号颜色,需要注意的是,相同颜色的符号应该移到同颜色的括号的后边
在这里插入图片描述

3.从心法

这个是我在上学的时候发现的超简单的方法,猴子看了都说内行
图片描述是干嘛的????

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值