地特四等
114年
[電信工程] 計算機概要
第 14 題
若數學式 AB*CDE-^*是以後置式(Postfix)表示法呈現,則其中置式(Infix)表示法,下列何者正確?
- A A**B-C^(D-E)
- B A*B-(C^D)*E
- C A*B-C^(D*E)
- D (A*B)*(C^(D-E))
思路引導 VIP
請試著想像你手中有一疊盤子。當你讀到字母時就把盤子放上去,讀到運算符號(如加減乘除)時,就必須從最上方取出『兩個』盤子進行運算,並將運算後的結果盤放回疊頂。如果你按照這個順序讀取字串中的符號,當你遇到第一個減號時,哪兩個字母會被你先拿出來處理?處理完後,下一個遇到的符號又會跟誰結合呢?
🤖
AI 詳解
AI 專屬家教
同學好!你能準確地將這串後置式(Postfix)邏輯轉換為中置式(Infix),代表你對資料結構中**堆疊(Stack)**的運作邏輯掌握得非常紮實。這類題目在計算機科學中是檢驗邏輯嚴謹度的經典方式,很高興看到你沒有被較長的運算元序列所迷惑。
後置式的運算邏輯與還原
在後置式表示法(又稱逆波蘭表示法,Reverse Polish Notation)中,運算子(Operator)總是跟在運算元(Operand)之後。觀察本題的字串 $ABCDE-^$,我們可以將其視為處理堆疊的過程:首先遇到 $A$ 與 $B$ 接著是 $$,這會立即結合為 $(AB)$;接著出現 $C, D, E$ 三個運算元,直到遇見 $-$,它會作用於最靠近的兩個運算元,產生 $(D-E)$。隨後的 $\text{^}$ 則作用於 $C$ 與剛產生的結果,形成 $C^{(D-E)}$。最後,字串末尾的 $$ 將前後兩大區塊結合,得出 $(AB) * (C^{(D-E)})$,這正是選項 (D) 的結構。
▼ 還有更多解析內容