LONGEPASS
Q217.

在程式實作時,那些排序法不需要額外的陣列或鏈結串列?

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

難易度分析

3 / 5

本題要求區分多種排序演算法的空間複雜度特性,且採複數選擇形式,考生必須完整判定所有選項的原地排序屬性才能正確作答,增加了分析難度。

正確答案 (複選):①, ②, ③

  • ① Insertion Sort:Insertion Sort(插入排序法)屬於原地排序(in-place sorting)演算法,僅需常數級別 O(1) 的額外空間來暫存待插入的元素,直接在原陣列上進行元素比較與位移操作。
  • ② Heap Sort:Heap Sort(堆積排序法)利用二元樹的陣列表示法在原陣列上進行 heapify 操作,僅需 O(1) 額外空間進行元素交換,無需配置額外的陣列或鏈結串列。
  • ③ Selection Sort:Selection Sort(選擇排序法)每次從未排序區域找出最小值後與前端元素交換,整個過程完全在原陣列上進行,空間複雜度為 O(1),屬於典型的原地排序法。

錯誤選項解析

  • ④ Radix Sort:Radix Sort(基數排序法)需要額外的桶子(bucket)或計數陣列來暫存每個位數的分類結果,空間複雜度為 O(n + k)(n 為資料筆數,k 為桶子數量),因此不屬於原地排序法。
Learning Tip

"此題核心考點為原地排序(in-place sorting)的判定。常見混淆點在於 Quick Sort 雖主要在原陣列操作,但遞迴呼叫會使用 O(log n) 的呼叫堆疊空間;而 Merge Sort 需要 O(n) 額外空間合併子陣列。實務上應牢記:Insertion、Selection、Heap 為 O(1) 原地排序;Merge、Radix、Bucket 則需要額外空間配置。"

學員答題分佈

①Insertion Sort0%
②Heap Sort0%
③Selection Sort0%
④Radix Sort0%

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

相似類型題目