資料結構 排序演算法(2) 選擇排序

2021-09-24 01:42:08 字數 866 閱讀 9075

表現最穩定的排序演算法之一,因為無論什麼資料進去都是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...

資料結構 排序演算法之選擇排序

一 選擇排序 最差的排序演算法 在選擇排序中,假定我們需要公升序,因此在每次排序中,需要找到最大的元素,將其放在最後,在每一次的迴圈中,都是將最大的元素放在最後,因此對於資料較多的陣列,迴圈的次數將與陣列中元素的個數一致,因此,在對於這種陣列進行排序時,將十分的浪費時間。有關選擇排序的思路,如下所示...