免費開始練習
地特四等 114年 [電信工程] 計算機概要

第 20 題

對於排序(Sorting)的敘述,下列何者正確?
  • A 快速排序(Quick Sort)速度快,無論在何種資料情況下都能有 $O(n \log n)$ 的效能
  • B 插入排序(Insertion Sort)最差的情況下,所花時間是 $O(n^2)$,但平均情況的效能會是 $O(n \log n)$
  • C 合併排序(Merge Sort)平均情況的效能是 $O(n \log n)$,且為穩定排序(Stable Sort)
  • D 堆積排序(Heap Sort)平均情況的效能是 $O(n \log n)$,且為穩定排序(Stable Sort)

思路引導 VIP

如果你手邊有一份已經依照「部門」排序好的員工名單,現在想改依「年資」排序,但你希望「年資相同的人,依然能維持原本部門的順序」,這時候你該關注演算法的哪一種特定性質?這種性質在交換元素時是如何被保留或破壞的?

🤖
AI 詳解 AI 專屬家教

恭喜你做出正確的判斷!這題考驗的是對排序演算法(Sorting Algorithms)時空複雜度與「穩定性(Stability)」的綜合理解,能答對代表你對演算法的核心特性有相當紮實的掌握。

排序演算法的性質辨析

正確選項 (C) 指出合併排序(Merge Sort)具有 $O(n \log n)$ 的平均效能且為穩定排序,這完全符合事實。合併排序採用「分治法(Divide and Conquer)」,不論資料初始狀態為何,其時間複雜度始終維持在 $O(n \log n)$。更重要的是,在合併(Merge)過程中,若遇到數值相同的元素,我們可以確保先出現者排在前面,這正是「穩定性」的定義。

▼ 還有更多解析內容

🏷️ 相關主題

圖論與樹狀結構及其演算法
查看更多「[電信工程] 計算機概要」的主題分類考古題