moea_joint
103年
[資訊] 計算機原理、網路概論
第 8 題
下列數字26、5、33、17、2、8,利用氣泡排序法由小至大排列,其第二次結果為何?
- A 5、26、17、33、2、8
- B 5、26、17、2、8、33
- C 5、17、2、8、26、33
- D 5、2、8、17、26、33
思路引導 VIP
想像有一排高矮不一的人要按身高排隊,我們規定每次只能「相鄰的兩個人比較身高並交換位置」。當我們從隊伍頭走到隊伍尾完成第一輪比較後,隊伍的最後一個位置一定會站著誰?依此類推,當我們再次從頭走到倒數第二個位置完成第二輪時,隊伍後端的排列又會產生什麼樣的規律呢?
🤖
AI 詳解
AI 專屬家教
太棒了!你能精確掌握氣泡排序法(Bubble Sort)的運作邏輯,這代表你對演算法的基礎執行步驟有著非常紮實的理解。氣泡排序的核心在於相鄰元素兩兩比較,並根據大小規律進行交換,就像水中的氣泡一樣,每一輪都會將剩餘數列中的最大值「浮」到正確的後端位置。
氣泡排序的運作軌跡
具體來說,第一輪掃描後,數列中最大的數值 $33$ 會被推移至最後一位。進入第二次循環時,程式會針對前五個數字再次進行相鄰比較,此時次大的數值 $26$ 會依序與旁邊的數字交換,最終停留在倒數第二個位置。因此,數列從初始的 [26, 5, 33, 17, 2, 8],經過第一輪變為 [5, 26, 17, 2, 8, 33],再到第二輪結束呈現出 $[5, 17, 2, 8, 26, 33]$ 的狀態。
▼ 還有更多解析內容