八大排序演算法之選擇排序演算法(JAVA)

2021-08-15 22:00:53 字數 1040 閱讀 4765

選擇排序(selectionsort)

簡單選擇排序的基本思想

:給定陣列:int a=;第1

趟排序,在待排序資料a[1]~a[n]

中選出最小的

資料,將它與a[1]

交換;第2

趟,在待排序

資料a[2]~a[n]

中選出最小的

資料,將它與a[2]

交換;以此類推,第i

趟在待排序

資料a[i]~a[n]

中選出最小的

資料,將它與a[i]

交換,直到全部排序完成

源**:

system.out.println("排序前:");

for (int i : array)

system.out.println('\n'+"排序後:");

}時間複雜度

:簡單選擇排序的

比較次數與序列的初始排序無關

。 假設待排序的序列有 n 個元素,則

比較次數永遠都是n (n - 1) / 2

。而移動次數與序列的初始排序有關。當序列正序時,移動次數最少,為 0。當序列反序時,移動次數最多,為3n (n - 1) /  2。

所以,綜上,簡單排序的

時間複雜度為 o(n2)。

八大排序演算法之選擇排序

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

八大排序演算法之選擇排序

created by leixingbang on 2017 9 25.選擇排序主要思想是將陣列拆分為兩部分,一部分是已經排序的新陣列和剩下的尚未排序的子陣列 每次選擇,都從尚未排序的子陣列中找出最小的數字,新增到已經排序的新陣列分。定理 對於長度為n的選擇排序需要 1 n n 2次比較 n 1,n...

八大排序演算法之選擇排序

思路 選擇排序 selection sort 是一種簡單直觀的排序演算法。它的工作原理 首先在未排序序列中找到最小 大 元素,存放到排序序列的起始位置,然後,再從剩餘未排序元素中繼續尋找最小 大 元素,然後放到已排序序列的末尾。以此類推,直到所有元素均排序完畢 想法 選擇排序實際上是乙個雙指標問題,...