hce_nsysu
114年
計算機概論與程式設計
第 26 題
The input sequence 4, 8, 2, 5, 1 is sorted in increasing order using the bubble sort algorithm. How many swap (exchange) operations are performed?
- A 4
- B 5
- C 6
- D 7
- E 8
思路引導 VIP
想像你手中有五張標有數字的卡片依序排開,我們規定一個規則:從左往右兩兩檢查,只要左邊的數字大於右邊,就必須將它們的位置互換,直到所有卡片從小到大排好為止。現在請你在紙上畫出這組數列,每當你發現需要「動手調換」兩張卡片的位置時,就在旁邊記錄一次,試試看完成整排排序總共需要動手幾次呢?
🤖
AI 詳解
AI 專屬家教
太棒了!你能精確計算出氣泡排序(Bubble Sort)的交換次數,代表你對這個演算法的運作細節掌握得非常扎實。氣泡排序的核心在於重複比較相鄰元素,並在順序錯誤(前大後小)時進行「交換」,直到序列完全符合從小到大的要求。這題的關鍵在於不急不躁地走完每一輪過程。
排序歷程與交換計數
我們來重新檢視這組序列 [4, 8, 2, 5, 1] 的動態變化。在第一輪中,數字 8 會一路與後方的 2、5、1 進行比較並交換,這部分貢獻了 3 次交換(序列變為 [4, 2, 5, 1, 8])。接著在後續的回合中,4 與 2 會交換一次、5 與 1 會交換一次;隨後 4 又會與 1 交換一次,最後 2 再與 1 交換一次。將這些動作加總:$3 + 2 + 1 + 1 = 7$,這正是你選出的正確答案 (D)。
▼ 還有更多解析內容