排序演算法(直接選擇排序)

2021-08-21 12:13:52 字數 687 閱讀 6148

為什麼我們要叫直接選擇排序呢?在最開始的時候,待排序區間是整個陣列,從區間選乙個最小的與區間第乙個交換位置,然後將待排序區間從第二個開始,繼續以上操作,直至待排序區間長度為0

我們還是以為例

初始:3 5 7 9 8 6 2 1 4 0

第一趟:05 7 9 8 6 2 1 4 3

第二趟:0 17 9 8 6 2 5 4 3

第三趟:0 1 29 8 6 7 5 4 3

第四趟:0 1 2 38 6 7 5 4 9

第九趟:0 1 2 3 4 5 6 7 8 9

public class selectsort ;

selectsort selectsort=new selectsort();

selectsort.selectsort(a);

for(int item:a)

} private void selectsort(int a){

for(int i=0;i由於不管陣列時正序還是亂序的,每一趟都需要經過比較,所以複雜度如下

最差時間複雜度:o(n²)

最優時間複雜度:o(n²)

平均時間複雜度:o(n²)

排序演算法 直接選擇排序

選擇排序的基本思想是 每一趟從待排序的記錄中選出關鍵字最小的記錄,順序放入已排序數列的最後,直到全部記錄排序完畢。直接選擇排序是一種簡單直觀的排序演算法。它的工作原理 首先在未排序序列中找到最小 大 元素,存放到排序序列的起始位置,然後,再從剩餘未排序元素中繼續尋找最小 大 元素,然後放到已排序序列...

排序演算法之直接選擇排序

直接選擇排序是將整個待排序序列分為兩部分,一部分為有序 最開始有序序列為空 一部分為無序 最終無序序列為空 有序序列中的數都不大於無序序列中的數。它的過程是每次都在無序中尋找乙個最小的數,然後將其與無序序列的第乙個數交換,並併入有序序列。則有序序列長度增1,無序序列長度減1。比如 對r 0 n 陣列...

排序演算法 1 7直接選擇排序

直接選擇排序 straight select sorting 也是一種簡單的排序方法,它的基本思想是 第一次從r 0 r n 1 中選取最小值,與r 0 交換,第二次從r 1 r n 1 中選取最小值,與r 1 交換,第i次從r i 1 r n 1 中選取最小值,與r i 1 交換,第n 1次從r ...