調查局三等申論題
111年
[電子科學組] 計算機概論
第 四 題
使用氣泡排序法(bubble sort)將陣列 array[7]={7,12,6,4,2,77,1}由左至右排序成由小至大之陣列 array[7]={1,2,4,6,7,12,77},請問在排序過程中總共發生幾次陣列元素之交換?(20 分)
📝 此題為申論題
思路引導 VIP
氣泡排序法的元素交換次數,在數學本質上等於數列中「反轉對(Inversions)」的總數。建議作答時先以反轉對公式快速求得標準答案,再輔以演算法逐回合(Pass)的推演步驟來驗證並展示計算過程,確保閱卷委員看到完整的邏輯推演以獲取滿分。
🤖
AI 詳解
AI 專屬家教
【解題關鍵】氣泡排序法的資料交換次數,等於原陣列中「反轉對(Inversion Pair)」的總數,亦可透過演算法逐回合(Pass)相鄰比對的過程計算。
【解答】
已知陣列:array[7] = {7, 12, 6, 4, 2, 77, 1},目標為遞增排序。
▼ 還有更多解析內容
氣泡排序交換次數
💡 氣泡排序總交換次數等於陣列中「反轉對」的總數。
| 比較維度 | 反轉對計算法 | VS | 逐回合模擬法 |
|---|---|---|---|
| 解題速度 | 極快,適合選擇題 | — | 較慢,需逐步操作 |
| 準確性 | 需細心點數,易漏算 | — | 具體模擬,不易出錯 |
| 申論適用性 | 可作為驗算結果 | — | 必寫步驟,展示邏輯 |
💬申論題應以模擬法為主呈現過程,並以反轉對法快速驗算總次數是否正確。