前缀表达式、中缀表达式、后缀表达式
前、中、后這三個方位名詞是運算符相對于操作數的位置而言的:
如果是前綴運算符的話 那么就是運算符在操作數前面
如果是中綴運算符的話 那么就是運算符在操作數中間
如果是后綴運算符的話 那么就是運算符在操作數后面
前綴表達式(波蘭式)
前綴表達式的計算方法:
1.遇到操作數 將其壓入棧中
2.遇到運算符 從棧中彈出兩個操作數
3.從右到左開始掃描 直到到達最左端為止
eg: - + 1 × + 2 3 4 5
首先將5 4 3 2 依次壓入棧中
其次遇到了+ 將棧頂的3和2彈出 并且進行加法運算 然后將5壓入棧中
接著遇到了x 將棧頂的4和5彈出 并且進行乘法運算 然后將20壓入棧中
接著將1壓入棧中
接著遇到+ 將棧頂的20和1彈出 并且進行加法運算 然后將21壓入棧中
接著遇到- 將棧頂的5和21彈出 并且進行減法運算 然后將16壓入棧中
最終的結果就是16
后綴表達式
后綴表達式的計算方法:
1.遇到操作數 將其壓入棧中
2.遇到運算符 從棧中彈出兩個操作數
3.和前綴表達式唯一不同的是 他是從左往右進行掃描的 直到到達最右端為止
案例和前綴表達式的案例如出一轍
中綴表達式
由于計算機只認識前綴和后綴表達式 所以必須先將中綴轉換成前綴或者后綴在進行運算操作
轉換方法:
就是根據運算符的優先級來適當進行括號的添加
eg:1+(2+3)×4-5
經過轉換以后變成了((1+((2+3)x4))-5)
然后選擇一種你想要的目標 比如前綴表達式
然后將運算符統統一道操作數前面
就變成了-(+(1x(+(23)4))5)
然后再將先前添加的括號統統去掉
-+1x+2345
然后就可以通過各自的計算方法進行計算了
總結
以上是生活随笔為你收集整理的前缀表达式、中缀表达式、后缀表达式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2019IDC:是谁拿下中国机器学习平台
- 下一篇: 是否想过中文编程呢?易语言使用的体验和感