選擇排序詳解

2021-09-07 15:09:12 字數 792 閱讀 9159

目錄

一、基本思想

二、過程示意圖

三、**實現過程

四、複雜度

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

選擇排序其實很貼近生活,比如我們看到一組多一點的資料數字的時候,就會拿第乙個和第1、第2...比較,找到最小的放在第一位,然後再從剩餘的資料中找到最小的,依次排下來,如下圖所示:

* 選擇排序

*/void selectsort(int arr,int len)

}//從上面這個for迴圈出來後arr[min]就是最小的記錄

//下面if判斷min還是不是剛開始的min了,如果不是就交換i(也就是剛開始的min)和現在的min

//如果min沒有變的話,那麼arr[min]就是最小的,保持原來的位置不變

if(min!=i)

}system.out.println("比較"+c1+"次,"+"移動"+c2+"次");

}比較次數:o(交換次數:o(n),最好的情況是有序的,不用交換。最壞的是逆序,交換3(n-1)

選擇排序詳解

基本概念 選擇排序 selection sort 是這樣的 首先,找到陣列中最小的那個元素,其次,將它和陣列的第乙個元素交換位置 如果第乙個元素就是最小元素那麼它就和自己交換 再次,在剩下的元素中找到最小的元素,將它與陣列的第二個元素交換位置。如此往復,直到將整個陣列排序。這種方法叫做選擇排序,因為...

選擇排序詳解

基本介紹 選擇式排序屬於內部排序法,是從預排序的資料中,按指定的規則選出某一元素,再依規定交換位置後達到排序的目的。思想 選擇排序 select sorting 也是一種簡單的排序方法。它的基本思想是 第一次從arr 0 arr n 1 中選取最小值,與arr 0 交換,第二次從arr 1 arr ...

選擇排序演算法(排序詳解)

選擇排序 selection sort 是一種簡單直觀的排序演算法。它的工作原理是每一次從待排序的資料元素中選出最小 或最大 的乙個元素,存放在序列的起始位置,直到全部待排序的資料元素排完。選擇排序是不穩定的排序方法 比如序列 5,5,3 第一次就將第乙個 5 與 3 交換,導致第乙個5挪動到第二個...