前缀 中缀 后缀表达式
1.前綴表達式叫波蘭式,后綴叫逆波蘭式
2.中綴表達式轉另外兩個比較簡單,前后綴裝中綴較麻煩
3.問題分求表達式還是求值,如果是求值則需要兩個棧,一個是操作符棧,一個是操作數棧,等操作符棧入棧完畢后依次出棧,并把操作數棧頂兩個操作數計算并將
結果重新壓入棧
4.只有中綴表達式有括號一說,波蘭式和逆波蘭式的運算順序嚴格定義,不需要括號
5.計算機并沒有中綴計算能力,需轉化為波蘭式或逆波蘭式
6.波蘭式和逆波蘭式轉中綴的編程題還沒見到,只見到填空題有,可能因為計算機更需要的是波蘭式和逆波蘭式
7.中綴轉逆波蘭的方法:
遇到數字:直接輸出
遇到'(':壓棧
遇到')':持續出棧,如果出棧的符號不是'('則輸出,否則終止出棧。
遇到符號則判斷該符號與棧頂符號的運算優先級,如果棧頂符號的運算優先級高,則出棧并輸出,直到優先級相等或棧為空;如果棧頂符號的運算優先級低于或等于當前符號的運算優先級,則將當前符號壓棧。
處理完字符串后將棧中剩余的符號全部輸出。
?
8.中綴轉波蘭式的方法:
轉化為前綴:從右到左遍歷中綴表達式,遇到操作數,輸出,遇到操作符,當前操作符的優先級大于等于棧頂操作符優先級,進棧,否則,彈出棧頂優先級大于當前操作符的操作符,當前操作符進棧。遇到')':壓棧
遇到'(':持續出棧,如果出棧的符號不是')'則輸出,否則終止出棧。處理完字符串后將棧中剩余的符號全部輸出。
轉載于:https://www.cnblogs.com/encode/p/4712861.html
總結
以上是生活随笔為你收集整理的前缀 中缀 后缀表达式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 卓拉之枪在哪里刷
- 下一篇: testNg自动化,读取excel的数据