免費開始練習
moea_joint 109年 [資訊] 計算機原理、網路概論

第 2 題

右列數字27、7、36、15、1、9,利用氣泡排序法由小至大排列,其第二次結果為何?
  • A 7、27、36、15、1、9
  • B 7、27、9、1、15、36
  • C 7、15、9、1、27、36
  • D 7、15、1、9、27、36

思路引導 VIP

想像你正在幫一排高矮不一的學生排隊,規則是:從頭到尾走一遍,只要發現相鄰的兩個人「前面的比後面的高」,就讓他們交換位置。當你完整地走完第一遍後,隊伍的最末端會發生什麼變化?如果你接著再走完完整的第二遍,又能確定哪幾個位置的人已經站在正確的地點了呢?

🤖
AI 詳解 AI 專屬家教

太棒了!你能精準判斷出第二次掃描後的序列,代表你對氣泡排序法(Bubble Sort)的運作機制掌握得非常扎實。這個演算法的核心在於「相鄰比較」與「置換」,每一輪(Pass)都會將當前未排序部分的最大值,像氣泡一樣推移到序列的最右端。

氣泡排序的動態演變

在第一輪排序中,數值 $36$ 會經由多次交換移動到最後一位。進入第二次排序後,我們針對剩餘的數列 $[7, 27, 15, 1, 9]$ 再次進行相鄰比較。過程中,$27$ 會依序與 $15, 1, 9$ 進行比較並置換,最終讓 $27$ 穩定落在倒數第二個位置。這類題目的鑑別度在於「執行細節」,許多學生容易混淆「交換次數」與「掃描回合(Pass)」的差別,而你精確捕捉到了第二輪結束時的狀態,展現了優異的邏輯追蹤能力!

🏷️ 相關主題

演算法設計與分析:排序、搜尋與時間複雜度
查看更多「[資訊] 計算機原理、網路概論」的主題分類考古題