什麼是穩定排序
鍵相同的元素之間,在排序後仍保持原本順序的排序。泡沫排序、插入排序、合併排序是穩定的,選擇排序、快速排序、堆積排序一般不穩定。依多個鍵依序排序時需要這個性質。
日文名稱: 安定ソート
「穩定排序」出現在1領域的3道練習題中(資料結構與演算法等)。
這個名詞所屬的領域: 資料結構與演算法
鍵相同的元素之間,在排序後仍保持原本順序的排序。泡沫排序、插入排序、合併排序是穩定的,選擇排序、快速排序、堆積排序一般不穩定。依多個鍵依序排序時需要這個性質。
日文名稱: 安定ソート
「穩定排序」出現在1領域的3道練習題中(資料結構與演算法等)。
這個名詞所屬的領域: 資料結構與演算法
正確答案:A. B, D, A, C
在穩定排序中,鍵(這裡是分數)相同的元素之間,會維持排序前的順序。70分的 B 與 D 依原順序為 B、D,80分的 A 與 C 依原順序為 A、C,因此結果為 B, D, A, C。穩定的排序有泡沫排序、插入排序、合併排序,而選擇排序、快速排序、堆積排序一般不穩定。使用穩定排序,就能做到先依姓名排序、再依分數重新排序這類以多個鍵進行的排序。
在穩定排序中,鍵(這裡是分數)相同的元素之間,會維持排序前的順序。
(姓名, 分數)的資料 (A, 80)、(B, 70)、(C, 80)、(D, 70) 依此順序排列。以穩定排序依分數…此外,堆積排序會比較相距很遠的元素,因此快取效率差,也不是穩定排序。
即使在最差情況下時間複雜度也是 O(n log n),且幾乎不使用工作用陣列等額外記憶體就能排序的演算法為下列何者?只靠比較來排序的方法,比較次數不可能少於 O(n log n),雙調排序一般也不是穩定排序。
在 GPU 這類平行處理裝置上排序時,有時會使用雙調排序(bitonic sort)這類比較與交換步驟固定的排序(排序…