1. 程式人生 > >基礎算法與數據結構(二)前綴、中綴、後綴表達式

基礎算法與數據結構(二)前綴、中綴、後綴表達式

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入棧

基礎算法與數據結構(二)前綴、中綴、後綴表達式