中缀表达式转后缀表达式_前、中、后缀表达式

6ab3eb42705a6000d21f81508327e232.png

#前缀表达式(波兰表达式)

  • 前缀表达式又称为波兰式,前缀表达式的运算符位于操作数之前
  • 举例:(3+4)*5-6对应的波兰式是-*+3456

前缀表达式的计算求值

  • 从右到左扫描表达式,将数字压入堆栈
  • 遇到运算符时,弹出栈顶的两个数,进行运算
  • 注意顺序为:栈顶元素 -操作符->次顶元素
  • 并将结果入栈;重复上述过程直到表达式最右端
  • 最后运算得出的值即为最终结果

例如 (3+4)*5-6

  • 对应的波兰式是-*+3456
  • 从右向左扫描得6 5 4 3 ,入栈
  • 遇到+,弹出3 4 得7,7入栈
  • 遇到* ,弹出7 5 得35,35入栈
  • 遇到- ,弹出35 6 得29,29即为最终结果

#中缀表达式

  • 就是常见的运算表达式
  • 人最熟悉中缀表达式,但计算机最难处理中缀表达式,所以往往将中缀表达式改为后缀表达式
  • 例如(3+4)*5-6就是一个中缀表达式

#后缀表达式(逆波兰表达式)

  • 与前缀表达式类似,只是运算符位于操作数之后
  • 例如(3+4)*5-6的逆波兰表达式是34+5*6-
  • 还有很多例子

后缀表达式的计算求值

  • 从左往右扫描表达式,遇到数字时,将数字压入堆栈
  • 遇到运算符时,弹出栈顶的两个数,计算
  • 注意顺序:次顶元素 -处理->栈顶元素
  • 并将结果入栈,重复上述过程直到表达式最右端
  • 最后结果即为计算结果
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值