LONGEPASS
Q146.

計算Postfix 運算式之值需要的資料結構是什麼?

電腦軟體設計共同科目 · 乙級 · Q146

難易度分析

2 / 5

本題考查特定運算式求值與資料結構之間的基本對應關係,屬於單純的定義記憶型題目,無複雜陷阱或多重推論過程。

正確答案:①Stack

① Stack:Postfix(後序表示法) 運算式的求值過程依賴 Stack(堆疊) 的 LIFO(後進先出) 特性。遇到運元時將其 push 入堆疊,遇到運算子時從堆疊 pop 出兩個運元進行運算,再將結果 push 回堆疊,最終堆疊頂端即為答案。

錯誤選項解析

  • ② Queue:Queue(佇列) 採用 FIFO(先進先出) 的存取模式,適用於 BFS(廣度優先搜尋) 或 排程演算法,無法滿足 Postfix 求值時需要「最後進入的運元優先取出」的需求。
  • ③ AVL-Tree:AVL-Tree 是一種 自平衡二元搜尋樹,主要用於維護有序資料以支援高效 搜尋、插入與刪除(時間複雜度 O(log n)),與運算式求值無關。
  • ④ Red-Black Tree:Red-Black Tree(紅黑樹) 同樣是 自平衡二元搜尋樹,廣泛應用於 std::map 或 std::set 等關聯式容器的底層實作,不適用於 Postfix 運算式求值。
Learning Tip

"此類題型常考 Infix、Prefix、Postfix 三種表示法之間的轉換與求值方式。切記:Infix 轉 Postfix 使用 Stack,而 Postfix 求值 同樣使用 Stack,兩者的差異在於前者處理的是 運算子優先權,後者處理的是 運元與運算子的依序計算。實務上需特別注意 除數為零 或 堆疊下溢(Stack Underflow) 的邊界條件檢查。"

學員答題分佈

①Stack0%
②Queue0%
③AVL-Tree0%
④Red-Black Tree0%

此答題分佈是根據學員在 LongePass 模擬考等實際作答紀錄計算而成。與考友分享這道歷屆試題與詳細解析!

相似類型題目