初考-統計資料處理大意107 年第 39 題單選題
一個有順序的資料列,有兩端分別稱為頭端(head)和尾端(tail)。此資料列中,新的資料可以加入,也可以刪除。但是若加入資料與刪除資料都在資料列的頭端,我們稱這樣的資料列為?
A佇列(Queue)
B鏈結串列(Linked list)
C陣列(Array)
D堆疊(Stack)正確答案
D正確答案
同一端進出=堆疊 Stack,後進先出 LIFO。
為什麼答案是 D
堆疊 Stack 的 push 和 pop 都發生在同一端(top),呈現後進先出 LIFO,正好符合題目「加入與刪除都在頭端」的描述。
載入中…
完整詳解
Pro · 無限重點 同一端進出=堆疊 Stack,後進先出 LIFO。
看到「加入和刪除都在同一端」立刻選 Stack。兩端分工則是 Queue。
逐選項分析
A✕ 陷阱
佇列 Queue 是先進先出 FIFO,資料從尾端加入、從頭端刪除,兩端分工明確,不是同一端進出。
B✕
鏈結串列是一種以節點指標串連的儲存結構,屬於實作方式,並非以「進出位置」定義的抽象資料型態。
C✕
陣列是連續記憶體空間的線性結構,任意索引皆可存取,沒有「只能從某端進出」的限制。
D✓ 正確
堆疊 Stack 的 push 和 pop 都發生在同一端(top),呈現後進先出 LIFO,正好符合題目「加入與刪除都在頭端」的描述。
Stack vs Queue 核心對照
| 結構 | 加入位置 | 刪除位置 | 特性 |
|---|
| 堆疊 Stack | 頭端 top | 頭端 top | 後進先出 LIFO |
| 佇列 Queue | 尾端 rear | 頭端 front | 先進先出 FIFO |
| 雙向佇列 Deque | 兩端皆可 | 兩端皆可 | 兩端都能進出 |
題目用「頭端 head」「尾端 tail」容易聯想到 Queue 的 front/rear,但關鍵在「加入和刪除都在同一端」—這是 Stack 的特徵。別被 head/tail 字眼誤導選成 Queue。