免費開始練習
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$,說明你對運算子的優先順序與堆疊的「後進先出」特性掌握得非常扎實。

後序運算的拆解過程

在處理這類題目時,我們可以將運算式由左至右掃描,遇到數值就推入堆疊,遇到運算子就彈出數值進行運算。針對本題,運算邏輯可以拆解如下:

▼ 還有更多解析內容

🏷️ 相關主題

基礎資料結構原理與演算法效能分析
查看更多「計算機概論與程式設計」的主題分類考古題