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