簡單選擇排序 直接選擇排序

2021-12-30 02:56:25 字數 581 閱讀 8453

簡單選擇排序也叫作直接選擇排序

每一趟在後面n-i+1個中選出關鍵字最小的記錄,作為有序序列的第i個記錄

(1)設待排序的記錄存放在陣列r[1…n ]中,第一趟從r[1]開始,通過n-1次比較,從n個記錄中選出關鍵字最小的記錄,記為r[k],交換r[1]和r[k].

(2)第二趟從r[2]開始,通過n-2次比較,從n-1個記錄中選出關鍵字最小的記錄,記為r[k],交換r[1]和r[k]。

(3)第i趟從r[i]開始,通過n-i次比較,從n-1+1個記錄中選出關鍵字最小的記錄,記為r[k],交換r[i]和r[k].

(4)經過n-1趟,排序完成。

{//對順序表l做簡單選擇排序

for(i=1;i

移動次數

最好情況: 0

最壞情況:3(n-1)

比較次數:1/2(n*n-n)

時間複雜度:o(n*n)

空間複雜度:o(1)

不穩定

選擇排序 簡單選擇排序

在要排序的一組數中,選出最小 或者最大 的乙個數與第1個位置的數交換 然後在剩下的數當中再找最小 或者最大 的與第2個位置的數交換,依次類推,直到第n 1個元素 倒數第二個數 和第n個元素 最後乙個數 比較為止。第一趟,從n個記錄中找出關鍵碼最小的記錄與第乙個記錄交換 第二趟,從第二個記錄開始的n ...

選擇排序 簡單選擇排序

1.選擇排序 簡單選擇排序,堆排序 與交換排序 氣泡排序,快速排序 的區別 每次比較如果發現較小的元素在後面,就交換兩個相鄰的元素。而選擇排序演算法的改進在於 先並不急於調換位置,先從a 1 開始逐個檢查,看哪個數最小就記下該數所在的位置p,等一躺掃瞄完畢,再把a p 和a 1 對調,這時a 1 到...

選擇排序 簡單選擇排序

在要排序的一組數中,選出最小 或者最大 的一 個數與第1個位置的數交換 然後在剩下的數當中再找最小 或者最大 的與第2個位置的數交換,依次類推,直到第n 1個元素 倒數第二個數 和第n個元素 最後 乙個數 比較為止。第一趟,從n 個記錄中找出關鍵碼最小的記錄與第乙個記錄交換 第二趟,從第二個記錄開始...