基礎算法與數據結構(二)前綴、中綴、後綴表達式
阿新 • • 發佈:2018-12-01
splay pla 中綴 text 出棧 前綴 操作數 兩個 The
目錄
- 簡介
- 前綴表達式計算
- 後綴表達式計算
簡介
中綴表達式(正常的表達式)
\[ (1+2)*3-4 \]
前綴表達式(運算符位於操作數之前)
\[ -*+1234 \]
後綴表達式(運算符位於操作數之後)
\[ 12+3*4- \]
前綴表達式計算
從右向左遍歷,遇到數字的時候,將數字入棧,遇到運算符的時候,彈出棧頂兩個數字運算,將運算結果入棧,直到剩下最後一個數字。
遍歷元素 | 棧 | 備註 |
---|---|---|
4 | 4 | 4入棧 |
3 | 43 | 3入棧 |
2 | 432 | 2入棧 |
1 | 4321 | 1入棧 |
+ | 433 | 12出棧,作1+2=3入棧 |
* | 49 | 33出棧,作3*3=9入棧 |
- | 5 | 49出棧,作9-4=5入棧 |
後綴表達式計算
從左向右遍歷,遇到數字的時候,將數字入棧,遇到運算符的時候,彈出棧頂兩個數字運算,將運算結果入棧,直到剩下最後一個數字。
遍歷元素 | 棧 | 備註 |
---|---|---|
1 | 1 | 1入棧 |
2 | 12 | 2入棧 |
+ | 3 | 12出棧,作1+2=3入棧 |
3 | 33 | 3入棧 |
* | 9 | 33出棧,作3*3=9入棧 |
4 | 94 | 4入棧 |
- | 5 | 94出棧,作9-4=5入棧 |
基礎算法與數據結構(二)前綴、中綴、後綴表達式