表現最穩定的排序演算法之一,因為無論什麼資料進去都是o(n2)的時間複雜度,所以用到它的時候,資料規模越小越好。唯一的好處可能就是不占用額外的記憶體空間了吧。
選擇排序(selection-sort)是一種簡單直觀的排序演算法。它的工作原理:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然後,再從剩餘未排序元素中繼續尋找最小(大)元素,然後放到已排序序列的末尾。以此類推,直到所有元素均排序完畢。
n個記錄的直接選擇排序可經過n-1趟直接選擇排序得到有序結果。具體演算法描述如下:
時間複雜度:平均情況 o(n2) 最好情況 o(n^2) 最壞情況 o(n^2)
空間複雜度: o(1)
穩定性:不穩定
1.空間複雜度:o(1)
3.時間複雜度:
一視同仁:o(n^2)
總結:雖然符合人的思想,但是不穩定和時間複雜度差
public class selectionsort
}//交換元素
int temp=arr[i];
arr[i]=arr[minindex];
arr[minindex]=temp;
print(arr);}}
public static void print(int arr)
system.out.println();
}public static void main(string args) ;
system.out.println("排序前:");
print(arr);
sort(arr);
system.out.println("排序後:");
print(arr);
}}
資料結構 排序 選擇排序演算法
選擇排序 selection sort 是一種簡單直觀的排序演算法。它的工作原理如下。首先在未排序序列中找到最小 大 元素,存放到排序序列的起始位置,然後,再從剩餘未排序元素中繼續尋找最小 大 元素,然後放到已排序序列的末尾。以此類推,直到所有元素均排序完畢。選擇排序的主要優點與資料移動有關。如果某...
資料結構 演算法實踐 排序 選擇排序 選擇排序
回主目錄 排序 選擇排序 選擇排序 list 0.概念 偽 示例分析 1.選擇排序實現 2.question 0 start 基本概念 維基百科 偽 function selectsort a list 1.n swap a index a max index 將最大的換到後面 index inde...
資料結構 排序演算法之選擇排序
一 選擇排序 最差的排序演算法 在選擇排序中,假定我們需要公升序,因此在每次排序中,需要找到最大的元素,將其放在最後,在每一次的迴圈中,都是將最大的元素放在最後,因此對於資料較多的陣列,迴圈的次數將與陣列中元素的個數一致,因此,在對於這種陣列進行排序時,將十分的浪費時間。有關選擇排序的思路,如下所示...