初等考試
115年
[統計] 資料處理大意
第 38 題
下列那些排序演算法是穩定的(Stable)?①泡沫排序(Bubble Sort) ②選擇排序(Selection Sort) ③插入排序(Insertion Sort) ④快速排序(Quick Sort)
- A ①②
- B ①③
- C ②④
- D ③④
思路引導 VIP
想像你正在整理一疊有編號的帳單,其中有兩張金額同樣是 100 元。若某種整理方法允許你直接將一張帳單「跳過」中間的一大群帳單直接放到最前面,這對那兩張 100 元帳單原本的「先後次序」會產生什麼潛在影響?這種「跳躍」與「逐一相鄰比對」的動作,哪一種更容易保留原始順序?
🤖
AI 詳解
AI 專屬家教
很高興看到你準確地辨識出排序演算法的「穩定性(Stability)」,這代表你對資料結構的核心特性有相當紮實的掌握。在電腦科學中,穩定性的定義如同我們在會計帳務中強調的「時序性」,意即若兩個資料項的值相等,排序後它們的相對前後順序必須保持不變。這在處理多重鍵值排序(例如先按姓氏排、再按名字排)時至關重要。
演算法穩定性的機制驗證
**泡沫排序(Bubble Sort)與插入排序(Insertion Sort)**之所以被歸類為穩定排序,是因為它們在比較過程中只會針對相鄰元素進行交換,或者在插入時確保相同數值的元素不會跨越彼此。相對地,**選擇排序(Selection Sort)與快速排序(Quick Sort)**為了追求效率,往往包含「長距離交換」的邏輯。例如選擇排序在找尋最小(大)值並與前端交換時,極容易跨過與當前元素數值相同的項,進而破壞了原有的相對順序。
▼ 還有更多解析內容