阿摩線上測驗 登入

申論題資訊

試卷:97年 - 097年地方4等_資訊處理#32437
科目:程式設計
年份:97年
排序:0

申論題內容

二、⑴說明 Selection Sort 如何排序。(5 分)

詳解 (共 1 筆)

詳解 提供者:hchungw

Selection Sort(選擇排序)是一種簡單直觀的排序算法。它的基本思想是:分為已排序區和未排序區兩部分,每次從未排序區選擇最小(或最大)的元素,放到已排序區的末尾,直到所有元素都被選擇過,排序完成。選擇排序是不穩定的排序算法,其時間複雜度為O(n^2),其中n是數組的長度。
選擇排序的步驟如下:
初始化:已排序區為空,未排序區為整個數組。
選擇最小值:從未排序區選擇最小的元素。
交換:將選擇的最小元素和未排序區的第一個元素交換位置。此時,該元素成為已排序區的一部分。
重複:重複步驟2和3,直到未排序區沒有元素。
以下是一個選擇排序的實例,假設我們對一個數組進行升序排序:
初始狀態:[29, 10, 14, 37, 13]
第1輪選擇:找到最小值10,與第一個元素29交換。
[10, 29, 14, 37, 13]
第2輪選擇:從第二個元素開始找到最小值13,與第二個元素29交換。
[10, 13, 14, 37, 29]
第3輪選擇:從第三個元素開始找到最小值14,它已經在正確的位置,不需要交換。
[10, 13, 14, 37, 29]
第4輪選擇:從第四個元素開始找到最小值29,與第四個元素37交換。
[10, 13, 14, 29, 37]
排序完成:[10, 13, 14, 29, 37]
選擇排序的主要優點是算法的實現簡單,並且在所有情況下都有相同的時間複雜度O(n^2)。然而,由於其效率低下,通常不推薦在大型數據集上使用。