民國114年 第2梯次 電腦軟體設計(C++)乙級 學科

第53題

下列哪一項關於陣列(Array)與鏈結串列(Linked List)的敘述正確?

題目

下列哪一項關於陣列(Array)與鏈結串列(Linked List)的敘述正確?

  1. (1) 陣列中資料的插入及刪除可能會造成大量資料移動
  2. (2) 陣列的大小通常不易決定,而利用鏈結串列儲存資料可以事先決定所需的儲存空間大小
  3. (3) 從陣列刪除中第一個元素與從鏈結串列刪除第一個元素,其時間複雜度相同
  4. (4) 陣列的存取方式為循序存取(Sequential Access)

官方答案

(1) 陣列中資料的插入及刪除可能會造成大量資料移動

解析

陣列在記憶體中為連續配置,於中間或開頭插入、刪除元素時,後方元素必須整批向前或向後搬移,故選項1正確。選項2錯誤:鏈結串列正是為解決陣列需事先宣告固定大小、不易變動的缺點,其節點隨用隨配置,並非「事先決定」空間。選項3錯誤:刪除陣列第一個元素需搬移其餘n-1筆,時間複雜度O(n);鏈結串列只需改頭指標為O(1),兩者不同。選項4錯誤:陣列憑索引可隨機存取(Random Access),鏈結串列才是循序存取。

AI 參考解析(推得答案已與官方答案比對一致),非官方公告內容,僅供備考參考。

官方資料