12 假設我們針對以下數列進行由小到大的排序:[16, 10, 8, 20],而我們採用的演算法為選擇排序(selection sort),則第一次執行的數字交換和所形成的數列為下列何者?
(A)交換 10 和 8,得到數列[16, 8, 10, 20]
(B)交換 16 和 8,得到數列[8, 10, 16, 20]
(C)交換 16 和 10,得到數列[10, 16, 8, 20]
(D)交換 20 和 8,得到數列[16, 10, 20, 8]

答案:登入後查看
統計: A(29), B(378), C(130), D(13), E(0) #1484865

詳解 (共 1 筆)

#2847334

選擇排序(Selection sort)是一種簡單直觀的排序演算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然後,再從剩餘未排序元素中繼續尋找最小(大)元素,然後放到已排序序列的末尾。以此類推,直到所有元素均排序完畢。

找最小與第1個交換,故為16和8

21
0