手工转换中缀式与前、后缀式 - 坐看云起 - 博客园 http://www.cnblogs.com/hsxixi/archive/2011/10/26/2224869.html
做题时遇到了一个新概念--后缀式。百度了一下,发现了一篇意思的文章
【1】求值:
1.1 中缀式求值:(不用说了吧,你懂的)
1.2 前、后缀式求值:程序求的话,当然是设栈,可是“栈”这玩意是计算机的思维模式,咱们人类要在脑子里维护个栈,那个智商要求是比较高的,以本人比较低的智商来说是相当的困难。所以,曲线救国:把前、后缀式转换成中缀式,中缀式求值参照上面一条。
【2】转换
因为通过心算或画图模拟栈的运算都不是很方便,所以总结下述方法。
1.1 后缀式(前缀式)转中缀式
举例:如希望将后缀式 ab*cde/-f*+ 转换为中缀式
从左向右查找运算符,找到则将该符号与前面两数结合,循环即可。
1.2 中缀式转后缀式(前缀式)
举例:请将中缀式 a * ( b *(c+d/e) - f) 转换为后缀式
首先按照运算符的优先级对所有的运算单位加括号,然后,画图将括号内符号移动到相应括号后并去除括号。BTW,这个画法没见别人用过,属于原创范畴,如有雷同,纯属偶然。另外,如果您只有一支黑色铅笔,可以考虑小括号、方括号花括号齐上阵。