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