地特四等
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 專屬家教
很高興看到你準確地完成了這項轉換,這代表你對於資料結構中**堆疊(Stack)**的運作邏輯掌握得非常紮實。這類題目在計算機科學中是檢驗邏輯思維的經典指標,能答對代表你已經理解了後置式不需要括號即可表達優先權的精髓。
後置式表達法的堆疊邏輯
在處理這類**後置式(Postfix)**運算時,核心邏輯在於「遇到運算子(Operator)時,立即抓取前方最接近的兩個運算元(Operand)」。我們觀察題目給予的符號序列:首先是 $A$ 與 $B$ 遇到第一個 *,形成了 $(A \times B)$;接著序列出現了 $C, D, E$ 三個運算元,當減法運算子 - 出現時,它會與最靠近的 $D$ 和 $E$ 結合,產生 $(D - E)$。隨後的次方運算子 ^ 則是作用在 $C$ 與剛算出的結果上,即 $C^{(D-E)}$。最後一個 * 則將最一開始的項與後方的項相乘,得出 $(A \times B) \times (C^{(D-E)})$,這正是選項 (D) 的內容。
▼ 還有更多解析內容