九大排序演算法之簡單選擇排序

2021-08-29 12:06:10 字數 693 閱讀 3044

選擇排序(selection-sort)是一種簡單直觀的排序演算法。

首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然後,再從剩餘未排序元素中繼續尋找最小(大)元素,然後放到已排序序列的末尾。以此類推,直到所有元素均排序完畢。

n個記錄的直接選擇排序可經過n-1趟直接選擇排序得到有序結果。具體演算法描述如下:

時間複雜度:最壞情況(陣列逆序)為o(n^2),最好情況(陣列順序)為o(n^2)

空間複雜度:線性空間o(1)

穩定性:在一趟選擇,如果當前元素比乙個元素小,而該小的元素又出現在乙個和當前元素相等的元素後面,那麼交換後穩定性                            就被破壞了。所以選擇排序不是乙個穩定的排序演算法。

八大排序演算法 簡單選擇排序

通過下標位置減少交換次數,在要排序的一組數中,選出最小 或者最大 的乙個數與第1個位置的數交換 然後在剩下的數當中再找最小 或者最大 的與第2個位置的數交換,依次類推,直到第n 1個元素 倒數第二個數 和第n個元素 最後乙個數 比較為止。include 簡單選擇排序 void selectsort ...

八大排序演算法(三)簡單選擇排序

基本思想 在要排序的一組數中,選出最小 或者最大 的 乙個數與第1個位置的數交換 然後在剩下的數當中再找最小 或者最大 的與第2個位置的數交換,依次類推,直到第n 1個元素 倒數第二個數 和第n個元素 最後 乙個數 比較為止。簡單選擇排序的示例 操作方法 第一趟,從n 個記錄中找出關鍵碼最小的記錄與...

排序演算法之簡單選擇排序

簡單選擇排序演算法,它的概念就是在要排序的一組數中,選出最小 或者最大 的一 個數與第1個位置的數交換 然後在剩下的數當中再找最小 或者最大 的與第2個位置的數交換,依次類推,直到第n 1個元素 倒數第二個數 和第n個元素 最後 乙個數 比較為止。這個演算法是很容易理解的,那麼,直接上 最下面的乙個...