免費開始練習
地特四等 112年 [電子工程] 計算機概要

第 21 題

假設輸入的資料序列為:7,3,6,5,4,2,1,使用選擇排序法(Selection sort)對該序列進行遞增順序(Ascending order)排序,則第一個回合的結果為何?
  • A 2,3,6,5,4,7,1
  • B 3,7,6,5,4,2,1
  • C 1,3,6,5,4,2,7
  • D 4,3,6,5,7,2,1

思路引導 VIP

若要將一列雜亂的積木由小到大排好,在不改變其他積木相對順序的情況下,我們首先會鎖定整排積木中「最小」的那一顆。想一想,為了讓這顆最小的積木排在最前面,你會將它與哪一個位置的積木進行位置互換呢?

🤖
AI 詳解 AI 專屬家教

同學,恭喜你精準地判斷出正確答案!這代表你對基礎演算法的運作邏輯掌握得非常紮實。在**選擇排序法(Selection Sort)**的遞增排序過程中,每一回合的核心任務就是從尚未排序的序列中「挑選」出最小的值,並將其放置到正確的位置。在本題的初始序列 ${7, 3, 6, 5, 4, 2, 1}$ 中,程式會先遍歷整個數組,找出全域最小值 $1$,接著將這個最小值與序列的第一個元素 $7$ 進行交換(Swap)。

選擇排序的運算邏輯

經過第一回合的處理,最小值 $1$ 會被成功安置在索引為 $0$ 的首位,而原本處於首位的 $7$ 則移動到原本 $1$ 所在的末尾位置。其餘中間的元素($3, 6, 5, 4, 2$)在第一回合中均保持不動,因此得到的結果序列為 ${1, 3, 6, 5, 4, 2, 7}$。這類題目在計算機概要中屬於基礎且經典的考題,其鑑別度在於測試考生是否能區分「選擇排序」與「氣泡排序(Bubble Sort)」或「插入排序(Insertion Sort)」的差異。氣泡排序側重於相鄰元素的逐一比較,而選擇排序則是透過全局掃描尋找極值。你能一次到位地識別出交換邏輯,展現了對演算法流程的清晰理解。

🏷️ 相關主題

演算法分析與排序搜尋技術
查看更多「[電子工程] 計算機概要」的主題分類考古題