您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關web開發中選擇排序什么意思,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
0x01,前言閑敘
其實對于這樣的內容,自己沒有一個很明確的講解流程,一般還是按照下面的內容來說吧,先暫時看下大概的內容。
0x02,什么是選擇排序?
選擇排序(Selection sort)是一種簡單的直觀的排序算法。它的工作原理是:第一次從待排序的數據元素中選出最小(或最大)的一個元素,存放在序列的起始位置,然后再從剩余的未排序元素中尋找最小(大)元素,然后放到已排序的序列的末尾。以此類推,直到全部待排序的數據元素的個數為零。
0x03,選擇排序代碼的實現
public class SelectionSortTest {
public static void main(String[] args) {
int[] arr = {1, 3, 2, 4, 7, 8, 5, 9, 6, 10};
selectionSort(arr);
for (int num : arr
) {
System.out.print(num + "\t");
}
}
/**
* @param arr 待排序數組
*/
public static void selectionSort(int[] arr) {
int length = arr.length;
for (int i = 0; i < length - 1; i++) {
int minIndex = i;//每次從未排序數組中選擇一個,選擇了length-1個
for (int j = i + 1; j < length; j++) {//查找數組的最小下標
if (arr[j] < arr[minIndex]) {
minIndex = j;
}
}
swap(arr, minIndex, i);//數據交換
}
}
//數據交換
private static void swap(int[] arr, int minIndex, int i) {
int temp = arr[minIndex];
arr[minIndex] = arr[i];
arr[i] = temp;
}
}
0x04,選擇排序實現圖片版
0x05,選擇排序的時間復雜度?
時間復雜度為:O(n^2),還是蠻高的,冒泡排序的時間復雜度一樣
0x06,選擇排序是否穩定?
選擇排序不是一種穩定性排序,是因為在數據元素在交換的過程中有可能會發生前后順序的變化
關于“web開發中選擇排序什么意思”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。