[原文]http://blog.csdn.net/guocai_yao/archive/2009/04/11/4065718.aspx
1.树的遍历法
通过中缀表达式,构造表达式树,然后利用前序或者后序遍历.
2.括号转移法
这里我给出一个中缀表达式
a+b*c-(d+e)
第一步:按照运算符的优先级对所有的运算单位加括号
式子变成拉:((a+(b*c))-(d+e))
第二步:转换前缀与后缀表达式
前缀:把运算符号移动到对应的括号前面
则变成拉:-( +(a *(bc)) +(de))
把括号去掉:-+a*bc+de 前缀式子出现
后缀:把运算符号移动到对应的括号后面
则变成拉:((a(bc)* )- (de)+ )-
把括号去掉:abc*-de+- 后缀式子出现
发现没有,前缀式,后缀式是不需要用括号来进行优先级的确定的。