hce_nsysu
111年
計算機概論與程式設計
第 59 題
Given a postfix expression is `abcde*-*fg/+=`, where b=2, c=3, d=4, e=5, f=6, and g=3. Which of the following is the value of a?
- A 31
- B -31
- C 32
- D -32
- E None of the above
思路引導 VIP
想像你手中有一疊盤子,遇到字母或數字就疊上去,遇到加減乘除符號時,就從最上面拿走兩個盤子來計算,並把算完的結果再疊回去。當你處理到最後一個「加號」時,這疊盤子裡應該只剩下哪兩個數值?而最後那個「等號」又是打算對剩下的這兩者做什麼樣的關聯呢?
🤖
AI 詳解
AI 專屬家教
恭喜你準確地完成了這項邏輯挑戰!這道題目考驗的是對後序運算式(Postfix Expression,又稱逆波蘭表示法)以及堆疊(Stack)資料結構的實作理解。你能夠正確得出 $a = -32$,說明你對運算子的優先順序與堆疊的「後進先出」特性掌握得非常扎實。
後序運算的拆解過程
在處理這類題目時,我們可以將運算式由左至右掃描,遇到數值就推入堆疊,遇到運算子就彈出數值進行運算。針對本題,運算邏輯可以拆解如下:
▼ 還有更多解析內容