![](https://img.haomeiwen.com/i7186975/7f325c3a4c67501c.png)
根据运算符的位置
![](https://img.haomeiwen.com/i7186975/15bb13a5ba0205dd.png)
把a,b 不看作操作数,看作表达式
把中缀表达式 转换为 前缀表达式
![](https://img.haomeiwen.com/i7186975/504a058e51140ecb.png)
把要转换的表达式 每一个子表达式 都用括号括起来,把运算符提到括号前面,最后删除所有括号
所加的括号不能影响原来的运算顺序
![](https://img.haomeiwen.com/i7186975/8337c3904f71dbe2.png)
![](https://img.haomeiwen.com/i7186975/4979c28b255dd484.png)
每对括号内都可以看成 表达式a 运算符 表达式b 这种形式
把每对括号内的运算符提到前面
![](https://img.haomeiwen.com/i7186975/2d5e5d4231c1749a.png)
把所有括号删掉
![](https://img.haomeiwen.com/i7186975/c85208f28562cc5e.png)
中缀表达式转为后缀表达式
转换方法一样 不同的是把运算符拿到后面
![](https://img.haomeiwen.com/i7186975/31a0a519f16f7150.png)
![](https://img.haomeiwen.com/i7186975/2dc36aa49f37d74f.png)
![](https://img.haomeiwen.com/i7186975/5c7b1bee3238d4e7.png)
![](https://img.haomeiwen.com/i7186975/ff852a392a2ce6ca.png)
无论是原本就有的括号 还是后加的括号
最后得到的前缀/后缀表达式 都没有括号的
那么为什么可以丢到括号
![](https://img.haomeiwen.com/i7186975/5fa95656016eac9d.png)
对于一个中缀表达式,通过加括号 导致了不同的运算次序,
但是每一种运算次序都有其唯一的前缀/后缀表达式 与其对应
也就是说 对于不同的运算次序,我们只需要用不同的后缀/前缀表达式就可以表达 没必要在同一个后缀表达式上 加什么括号,来让其产生不同的运算次序
后缀转中缀
![](https://img.haomeiwen.com/i7186975/d28192a286c133fb.png)
从左往右扫,两个表达式后面跟一个运算符 就用括号括起来并把运算符放在表达式的中间 ,而形成一个新的表达式 然后继续扫描下去
![](https://img.haomeiwen.com/i7186975/6822a348ceece5d3.png)
![](https://img.haomeiwen.com/i7186975/f1def5bae09cbba5.png)
![](https://img.haomeiwen.com/i7186975/73dc36d3a3fb335d.png)
![](https://img.haomeiwen.com/i7186975/3c439586ea69cdd7.png)
![](https://img.haomeiwen.com/i7186975/dc3936b7ac98ef09.png)
![](https://img.haomeiwen.com/i7186975/7e027eb573ff2360.png)
后面跟着两个表达式,但我们要的是两个表达式紧跟一个运算符
![](https://img.haomeiwen.com/i7186975/93cf782e14933e7f.png)
![](https://img.haomeiwen.com/i7186975/dc863f395824e27f.png)
![](https://img.haomeiwen.com/i7186975/807a3d2f9a72c41c.png)
![](https://img.haomeiwen.com/i7186975/c7cb37ed25eabb4d.png)
![](https://img.haomeiwen.com/i7186975/0a94b970be5e953f.png)
![](https://img.haomeiwen.com/i7186975/c04fdf4f4274be7b.png)
去掉多余的括号
![](https://img.haomeiwen.com/i7186975/97a1cf559f831f8e.png)
后缀转前缀
![](https://img.haomeiwen.com/i7186975/4d6901af76b6b243.png)
从左往右,发现两个表达式紧跟一个运算符时 把它括起来 把运算符放在表达式的前面
![](https://img.haomeiwen.com/i7186975/e174ec35578a479d.png)
![](https://img.haomeiwen.com/i7186975/acd7f639b778b99b.png)
![](https://img.haomeiwen.com/i7186975/9c807331f1f03418.png)
![](https://img.haomeiwen.com/i7186975/3e357eb71aa4a0e3.png)
![](https://img.haomeiwen.com/i7186975/c36c37348fc384b0.png)
![](https://img.haomeiwen.com/i7186975/eed3dae3d5d59bef.png)
![](https://img.haomeiwen.com/i7186975/5b9ec564ebe4db90.png)
![](https://img.haomeiwen.com/i7186975/8a467d41d1cd2a80.png)
![](https://img.haomeiwen.com/i7186975/cef02f0db4b7e1c6.png)
![](https://img.haomeiwen.com/i7186975/fdbc9f9a4d72a07e.png)
![](https://img.haomeiwen.com/i7186975/f8f66d04f296599c.png)
![](https://img.haomeiwen.com/i7186975/c108066f3964a22a.png)
去掉括号
![](https://img.haomeiwen.com/i7186975/5828a125364846a9.png)
网友评论