資料結構基本功 排序演算法(簡單選擇排序)

2021-08-23 12:07:22 字數 630 閱讀 7864

目錄

1、簡單選擇排序的思想:

2、複雜度分析

3、c++實現

通過n-i次 關鍵字間的比較,從n-i+1個記錄中選出關鍵字最小的記錄,並和第i(1≤i≤n)個記錄交換。

無論最好還是最壞的情況:

空間複雜度為:o(1)

時間複雜度為:(sum(n-i),i = 1,2,...n )--> o(n*(n-1)/2)=o(n^2),

交換次數為:最好有序為0次,最壞逆序為n-1次

氣泡排序的時間複雜度為:o(n ^ 2),同時交換次數:o(n^2)

所以,總體上來說簡單排序的效能略優於氣泡排序

void selectsort(int *a, int length)

} }}int main(int argc, char **argv)

; selectsort(a, sizeof(a) / sizeof(int));

for (int i = 0; i < sizeof(a) / sizeof(int); i++)

cout << a[i] << " ";

cin.get();

return 0;

}

資料結構 簡單選擇排序

include include include include include include define maxsize 100 define elemtype int define status int using namespace std 順序表資料結構 typedef struct sq...

資料結構 考研 簡單選擇排序

簡單選擇排序是最簡單的選擇類排序,是一種不穩定排序。每次在待排序區間尋找最小的乙個元素,將它與待排序區間的第乙個元素交換,緊接著待排序區間長度 1,再尋找當前待排序區間尋找最小的乙個元素,當待排序區間剩餘乙個元素的時候,選擇排序結束。void selectsort int arr,int len 如...

大話資料結構之 簡單選擇排序

簡單選擇排序簡單選擇排序法 selection sort 就是通過n i次關鍵字間的比較,從n i 1個記錄中選出最小關鍵字的記錄,並和第i 1 i n 個記錄交換之。我們來看 void selection cort int array,int n if i min 段應該不難理解。這對陣列如 in...