公務人員特種考試計算機大意112 年第 7 題單選題
下列關於陣列(array)與連結串列(linked list)的敘述何者正確?
A連結串列需存放在記憶體上的一塊連續的位置
B陣列裡的資料存取需透過指標循序存取
C我們一般稱陣列為直接存取資料結構正確答案
D連結串列裡的資料可透過定址直接存取
C正確答案
陣列是連續記憶體可直接定址存取(隨機存取);連結串列是靠指標循序走訪。
為什麼答案是 C
正確。陣列因為記憶體連續,可用『基底位址 + i×元素大小』公式 O(1) 直接定位,稱為直接存取(direct/random access)資料結構。
載入中…
完整詳解
Pro · 無限重點 陣列是連續記憶體可直接定址存取(隨機存取);連結串列是靠指標循序走訪。
記住:陣列=直接存取(random access)、連結串列=循序存取(sequential access),兩兩對調就是陷阱。
逐選項分析
A✕ 陷阱
錯誤。連續記憶體是『陣列』的特性。連結串列每個節點可散落在不同位置,靠指標(next)串起來。
B✕ 陷阱
錯誤。陣列透過索引(index)和基底位址計算即可直接存取 a[i],不需循序走訪。循序存取是連結串列的特性。
C✓ 正確
正確。陣列因為記憶體連續,可用『基底位址 + i×元素大小』公式 O(1) 直接定位,稱為直接存取(direct/random access)資料結構。
D✕ 陷阱
錯誤。連結串列無法直接定址,要找第 k 個節點必須從 head 沿 next 指標走 k 次,屬於循序存取(sequential access)。
陣列 vs 連結串列 核心對照
| 比較項目 | 陣列 Array | 連結串列 Linked List |
|---|
| 記憶體配置 | 連續 | 不連續(靠指標) |
| 存取方式 | 直接存取 O(1) | 循序存取 O(n) |
| 插入/刪除 | 慢 O(n)需搬移 | 快 O(1)改指標 |
| 大小 | 固定(靜態) | 動態可變 |
| 額外空間 | 不需 | 需存指標 |
本題四個選項中有三個都是把『陣列』和『連結串列』的特性對調。考生若沒熟記兩者根本差異(連續vs指標、直接vs循序),很容易被文字繞暈。關鍵口訣:陣列吃連續記憶體換取直接存取速度。