Reverse Polish Notation
逆波蘭表示法(RPN - Reverse Polish Notation)是一種數學表達式的表示方式,又稱為後綴表示法。
Postfix Notation (後綴表示法)
運算子位於運算元之後。
Infix Notation (中綴表示法)
運算子位於運算元之間,是人類最常用的表示法。
Prefix Notation (前綴表示法)
運算子位於運算元之前,又稱波蘭表示法。
Comparison
| 表示法 | 範例 | 特點 |
|---|---|---|
| Infix (中綴) | (7 + 3) * (4 - 2) / 5 | 需要括號來定義優先級 |
| Postfix (後綴/RPN) | 7 3 + 4 2 - * 5 / | 不需要括號,適合堆疊計算 |
| Prefix (前綴) | / * + 7 3 - 4 2 5 | 不需要括號,從右到左計算 |
Stack-based Evaluation
RPN 可以使用 Stack 進行計算:
- 從左到右掃描表達式
- 遇到運算元時,Push 到 Stack
- 遇到運算子時,Pop 兩個運算元進行計算,結果 Push 回 Stack
- 最後 Stack 中剩下的值即為結果