經典排序演算法之選擇排序

2021-09-24 00:23:26 字數 434 閱讀 2935

來自《演算法》中關於選擇排序的描述:首先找到陣列中最小的元素,將它和陣列的第乙個元素交換位置。其次,在剩下的元素中找到最小的元素,將它與陣列的第二個元素交換位置。如此往復,直到整個陣列排序。這就是選擇排序。

話不多說,上**片段吧。

public static void selectionsort(int arr) 

}// 交換當前i和index所對應的值

int temp = arr[index];

arr[index] = arr[i];

arr[i] = temp;

} }

選擇排序原理和實現很簡單,但它的缺點就是,即使原陣列已經是有序的,程式也會象徵性的走一遍,這點非常糟糕。優點就是它僅需要n次交換即可實現排序。演算法整體時間複雜度是o(n2)。

排序演算法 經典排序演算法之選擇排序

演算法的基本思想,是從無序中選擇最小的元素,然後交換。1 從陣列的第乙個元素開始,將待排序陣列分為有序和無序兩個區間。2 從無序陣列中選取最小的元素和有序陣列的最後乙個元素交換。3 重複第2步,直到無序陣列沒有元素為止。時間複雜度為o n n 空間複雜度為o 1 選擇排序是給每個位置選擇當前元素最小...

經典演算法之選擇排序

核心就是找到最小 大 的元素,並在剩餘元素中繼續找最小 大 並放有序數列後,重複n次 時間複雜度o n 不是很穩定啊!1.首先在未排序的數列中找到最小 大 的元素放在首位 2.再剩餘元素中繼續挑出乙個最小 大 的元素,放在步驟1所在序列的後面 3.重複 選擇排序,先找到最小 大 的元素 再在剩餘元素...

經典排序演算法 選擇排序

對比陣列中前乙個元素跟後乙個元素的大小,如果後面的元素比前面的元素小則用乙個變數k來記住他的位置,接著第二次比較,前面 後乙個元素 現變成了 前乙個元素 繼續跟他的 後乙個元素 進行比較如果後面的元素比他要小則用變數k記住它在陣列中的位置 下標 等到迴圈結束的時候,我們應該找到了最小的那個數的下標了...