中綴表示式轉換成字首或字尾表示式

2021-08-30 09:51:02 字數 689 閱讀 5921

中綴表示式轉換成字首或字尾表示式2009-05-16 20:5435,15,+,80,70,-,*,20,/ //字尾表達方式

(((35+15)*(80-70))/20)=25 //中綴表達方式

/,*,+,35,15,-,80,70, 20 //字首表達方式

人的思維方式很容易固定~~!正如習慣拉10進製。就對2,3,4,8,16

等進製不知所措一樣~~!

人們習慣的運算方式是中綴表示式。而碰到字首,字尾方式。。迷茫

其實僅僅是一種表示式子的方式而已(不被你習慣的方式)

我這裡教你一種也許你老師都沒跟你講的簡單轉換方式

乙個中綴式到其他式子的轉換方法~~

這裡我給出乙個中綴表示式~

a+b*c-(d+e)

第一步:按照運算子的優先順序對所有的運算單位加括號~

式子變成拉:((a+(b*c))-(d+e))

第二步:轉換字首與字尾表示式

字首:把運算符號移動到對應的括號前面

則變成拉:-( +(a *(bc)) +(de))

把括號去掉:-+a*bc+de 字首式子出現

字尾:把運算符號移動到對應的括號後面

則變成拉:((a(bc)* )+ (de)+ )-

把括號去掉:abc*+de+- 字尾式子出現

發現沒有,字首式,字尾式是不需要用括號來進行優先順序的確定的。

中綴表示式轉換成字尾表示式

一 基礎知識 中綴表示式 人們常用的表示式就叫做中綴表示式,如a b c d 字尾表示式 又叫做逆波蘭表示式,由一名波蘭數學家提出,方便進棧操作 字尾表示式也叫逆波蘭表示式,其求值過程可以用到棧來輔助儲存。假定待求值的字尾表示式為 6 5 2 3 8 3 則其求值過程如下 1 遍歷表示式,遇到的數字...

中綴表示式轉換成字尾表示式

中綴表示式轉字尾表示式 思路 三個方法 將中綴表示式轉換成 中綴表示式對應的 list 自定義運算子優先順序 將中綴表示式對應的 list 轉換成 字尾表示式.1.1 使用 list 更好的和 stack 配合,list 比 字串的遍歷更加靈活.將中綴表示式對應的 list 轉換成 字尾表示式 2....

中綴表示式轉換成字尾表示式

優先順序 如果輸入運算子的優先順序低於或等於棧頂的操作符優先順序,則棧內元素進入輸入佇列,輸入運算子入棧。乙個簡單的例子 演算法示意圖,使用了3個空間。輸入用符號代替,如果輸入是乙個數字則直接進輸出佇列,即圖中 b d f h 如果輸入是運算子,則壓入操作符堆疊,即圖中 c e 但是,如果輸入運算子...