民國114年 第2梯次 電腦軟體設計(C++)乙級 學科
第53題
下列哪一項關於陣列(Array)與鏈結串列(Linked List)的敘述正確?
題目
下列哪一項關於陣列(Array)與鏈結串列(Linked List)的敘述正確?
- (1) 陣列中資料的插入及刪除可能會造成大量資料移動
- (2) 陣列的大小通常不易決定,而利用鏈結串列儲存資料可以事先決定所需的儲存空間大小
- (3) 從陣列刪除中第一個元素與從鏈結串列刪除第一個元素,其時間複雜度相同
- (4) 陣列的存取方式為循序存取(Sequential Access)
官方答案
(1) 陣列中資料的插入及刪除可能會造成大量資料移動
解析
陣列在記憶體中為連續配置,於中間或開頭插入、刪除元素時,後方元素必須整批向前或向後搬移,故選項1正確。選項2錯誤:鏈結串列正是為解決陣列需事先宣告固定大小、不易變動的缺點,其節點隨用隨配置,並非「事先決定」空間。選項3錯誤:刪除陣列第一個元素需搬移其餘n-1筆,時間複雜度O(n);鏈結串列只需改頭指標為O(1),兩者不同。選項4錯誤:陣列憑索引可隨機存取(Random Access),鏈結串列才是循序存取。
AI 參考解析(推得答案已與官方答案比對一致),非官方公告內容,僅供備考參考。