排序演算法 基本選擇排序

2021-08-28 11:24:24 字數 595 閱讀 2217

選擇排序是一種簡單直觀的排序演算法,基本思想是每一次從待排序的資料元素中選出最小(或最大)的乙個元素,存放在序列的起始位置,直到全部待排序的資料元素排完。n個元素的數列,需要n-1趟直接排序。

拿第1個元素,依次與後面的其他元素逐個比較,找出最小(最大)的元素,放到下標為0的位置。

經過第1步,數列的第乙個必然是最小(最大)的元素。

拿第i個元素,依次與後面的其他元素逐個比較,找出最小(最大)的元素,放到下標為i-1的位置。

重複第3步(除了最後乙個),每一次都會有乙個最小(最大)的元素被找出,放在對應的下標位置。

直到每輪比較不再有可交換的元素。

排序完成。

基本選擇排序的比較次數與序列的初始排序無關。 假設待排序的序列有 n 個元素,則比較次數永遠都是n (n - 1) / 2。而移動次數與序列的初始排序有關。當序列正序時,移動次數最少,為 0。當序列反序時,移動次數最多,為3n (n - 1) /  2。所以,綜上,簡單排序的時間複雜度為 o(

c語言:

#include int main()

} }for(i=0;i

return 0;

}

基本排序演算法 選擇排序

排序方式 選擇排序 表現最穩定的排序演算法之一 這個穩定不是指演算法層面上的穩定 因為無論什麼資料進去都是o n 的時間複雜度 所以用到它的時候,資料規模越小越好。唯一的好處可能就是不占用額外的記憶體空間了吧。理論上講,選擇排序可能也是平時排序一般人想到的最多的排序方法了吧。原理首先從原始陣列中找到...

選擇排序 基本演算法

人生何嘗不是在一次次的選擇中掙扎 前進,每一次選擇都是一次昇華,提公升自我。扯多了。不就是個選擇排序,還整得這麼煽情,我這都不好意思了。今天來說下排序中的另一種方法 選擇排序 基本思想 每趟排序在當前待排序序列中選出關鍵碼最小的記錄,新增到有序序列中。在這裡有兩個問題需要解決 如何在待排序序列中選出...

基本排序演算法 選擇排序隨筆

簡介 選擇排序 selection sort 是一種簡單直觀的排序演算法。它的工作原理是 第一次從待排序的資料元素中選出最小 或最大 的乙個元素,存放在序列的起始位置,然後再從剩餘的未排序元素中尋找到最小 大 元素,然後放到已排序的序列的末尾。以此類推,直到全部待排序的資料元素的個數為零。選擇排序是...