中缀表达式转后缀表达式(非常简单易懂)
前言
数据结构与算法中经常遇到中缀表达式转前缀表达式的题目,网上的教程大都很不直观,自己学的时候,也走了很多弯路,现在把一个简单易懂的算法教程分享出来。
中缀转后缀
举个例子,一个式子:
(5+20+1∗3)/14(5+20+1*3)/14(5+20+1∗3)/14
如何把该式子转换成后缀表达式呢?其实就是分三步:
1、按运算符优先级对所有运算符和它的运算数加括号,(原本的括号不用加)
2、把运算符移到对应的括号后
3、去掉括号
具体实现为:
1、(((5+20)+(1∗3))/14)(((5+20)+(1*3))/14)(((5+20)+(1∗3))/14)
2、(((520)+(13)∗)+14)/(((5 20)+(1 3)*)+14) /(((520)+(13)∗)+14)/
3、520+13∗+14/5 20 + 1 3 *+ 14 /520+13∗+14/