LONGEPASS
Q16.

下列有關堆疊(Stack)及佇列(Queue)的敘述,何者正確?

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

難易度分析

2 / 5

本題要求考生區分兩種基礎資料結構的定義及其在作業系統與編譯原理中的實際應用。由於選項中包含了易混淆的對稱概念以及實作方式的判定,需要對基本原理解析有正確且準確的記憶。

正確答案:④串列(Linked List)可用來模擬堆疊及佇列

④ 串列(Linked List)可用來模擬堆疊及佇列:串列(Linked List) 可透過在頭端進行插入與刪除來模擬 堆疊,也可透過頭端刪除、尾端插入來模擬 佇列,是常見的資料結構實作方式。

錯誤選項解析

  • ① 堆疊的特性是先進先出,佇列的特性是後進先出:此敘述將兩者特性顛倒。堆疊(Stack) 的正確特性是 後進先出(LIFO),而 佇列(Queue) 的特性是 先進先出(FIFO)。
  • ② 多工的作業系統常用堆疊來記錄各個程序(Process)的資訊:多工作業系統進行 程序排程(Process Scheduling) 時,通常使用 佇列(Queue) 而非堆疊來管理各個程序的等待與執行順序,以確保公平排程。
  • ③ 程式語言的直譯器(Interpreter)需使用佇列來記錄函數(Function)呼叫時的資訊:直譯器或編譯器在處理 函數呼叫(Function Call) 時,使用的是 呼叫堆疊(Call Stack) 而非佇列,用以記錄返回位址、區域變數及參數等資訊。
Learning Tip

"本題核心考點為 堆疊(LIFO) 與 佇列(FIFO) 的基本特性及應用情境。常考陷阱包括:將兩者特性記反、混淆 呼叫堆疊(Call Stack) 與佇列的用途。實務上,遞迴(Recursion)、運算式求值 依賴堆疊;而 BFS遍歷、I/O緩衝區 則依賴佇列。"

學員答題分佈

①堆疊的特性是先進先出,佇列的特性是後進先出0%
②多工的作業系統常用堆疊來記錄各個程序(Process)的資訊0%
③程式語言的直譯器(Interpreter)需使用佇列來記錄函數(Function)呼叫時的資訊0%
④串列(Linked List)可用來模擬堆疊及佇列0%

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

相似類型題目