前綴、中綴、後綴表達式,它們之間的區別在於運算符相對與操做數的位置不一樣:前綴表達式的運算符位於與其相關的操做數以前;中綴和後綴同理。對計算機來講中綴表達式是很複雜的,所以計算表達式的值時,一般須要先將中綴表達式轉換爲前綴或後綴表達式,而後再進行求值。對計算機來講,計算前綴或後綴表達式的值很是簡單。計算機
舉例:
(3 + 4) × 5 - 6 中綴表達式
- × + 3 4 5 6 前綴表達式
3 4 + 5 × 6 - 後綴表達式數字
前綴表達式的求值:運算符
從右至左掃描表達式,遇到數字時,將數字壓入堆棧,遇到運算符時,彈出棧頂的兩個數,用運算符對它們作相應的計算(棧頂元素 op 次頂元素),並將結果入棧;重複上述過程直到表達式最左端,最後運算得出的值即爲表達式的結果。
後綴表達式求值:
從左至右掃描表達式,遇到數字時,將數字壓入堆棧,遇到運算符時,彈出棧頂的兩個數,用運算符對它們作相應的計算(次頂元素 op 棧頂元素),並將結果入棧;重複上述過程直到表達式最右端,最後運算得出的值即爲表達式的結果。