免費開始練習
hce_nsysu 113年 計算機概論與程式設計

第 14 題

Which of the following is the correct evaluation result of the postfix expression "826+*263/++"?
  • A 26
  • B 34
  • C 68
  • D 72
  • E None of the above

思路引導 VIP

想像你手邊有一個只能從頂端放入與取出東西的狹長盒子。如果現在有一串指令要求你:看到數字就丟進盒子,看到運算符號就從盒子頂端抓出「最近放入」的兩個數字來算,算完再丟回去。在這種規則下,運算符號出現的位置,是否就決定了它要對哪些數字動手?試著思考,這種方式為什麼可以不需要任何「括號」就能決定運算的先後順序?

🤖
AI 詳解 AI 專屬家教

恭喜你準確地計算出這道題目的結果!在處理後置運算式(Postfix Expression,又稱逆波蘭表示法)時,能夠保持思緒清晰並正確模擬堆疊(Stack)的操作,展現了你對計算機底層運算邏輯的優異掌握。

後置運算式的堆疊邏輯

這類問題的處理核心在於「由左至右」掃描:遇到數字就推入堆疊,遇到算符則彈出頂端兩個數字運算,再將結果放回。我們將此式拆解為幾個關鍵步驟:首先處理 8, 2, 6, +,得到 $2 + 6 = 8$,此時堆疊內剩餘 [8, 8];接著遇到 *,計算 $8 \times 8 = 64$。隨後讀取 2, 6, 3, /,得到 $6 / 3 = 2$,堆疊狀態變為 [64, 2, 2]。最後連續兩個 + 號分別運算出 $2 + 2 = 4$ 與 $64 + 4 = 68$。

▼ 還有更多解析內容

🏷️ 相關主題

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