選擇排序之簡單選擇排序

2021-07-04 06:34:58 字數 1177 閱讀 8271

選擇排序是幾大排序演算法中的一種,選擇排序的思想如下:

每趟從待排序的記錄序列中選擇關鍵字最小的記錄放置到已排序表的最前位置,直到全部排完。

選擇排序大概有兩種,今天我們說其中一種——簡單選擇排序。

1、基本思想:在要排序的一組數中,選出最小的乙個數與第乙個位置的數交換;然後在剩下的數當中再找最小的與第二個位置的數交換,如此迴圈到倒數第二個數和最後乙個數比較為止。

這段話什麼意思呢?我們舉個例子來說說:

有乙個陣列,最後的順序要求是從左到右,從小到大。我們從第乙個位置開始,在陣列中尋找乙個最小的元素,可以發現最小的元素是1,那麼就將第乙個位置的元素和1交換,交換後的陣列是,現在第乙個位置就確定,接著從第二個位置開始,在陣列中尋找第二小的元素,可以發現是2,那麼就將第二個未知的元素和2交換,交換後的陣列是,現在第二個位置也就確定了,然後繼續直到整個陣列都排好。

簡單選擇排序是不穩定的排序方法。簡單選擇排序的時間複雜度為o(n2)。

下面來看一段實現**:

/*

* to change this license header, choose license headers in project properties.

* to change this template file, choose tools | templates

* and open the template in the editor.

*/package algorithm;

/** * 1、基本思想:在要排序的一組數中,選出最小的乙個數與第乙個位置的數交換;

* 然後在剩下的數當中再找最小的與第二個位置的數交換,如此迴圈到倒數第二個數和最後乙個數比較為止。

* 2、適用場景:簡單選擇排序是不穩定的排序。時間複雜度:t(n)=o(n2)。

*/public class ******selectsort

}args[n] = args[i];

args[i] = min;}}

}public static void main(string args) ;

for (int temp : array)

system.out.println();

sss.******selectsort(array);

for (int temp : array)

}}

選擇排序之簡單選擇排序

選擇排序,是一種簡單直觀的排序演算法 它的工作原理如下。首先在未排序序列中找到最小 大 元素,存放到排序序列的起始位置,然後,再從剩餘未排序元素中繼續尋找最小 大 元素,然後放到已排序序列的末尾。以此類推,直到所有元素均排序完畢。演算法描述 1 首先從待排序元素中選出最小乙個,下標min 2 如果m...

選擇排序之簡單選擇排序

選擇排序的基本思想是 每趟 如第i趟 在後面n i 1 i 1,2,n 1 個待排序元素中選取關鍵字最小的元素,作為有序子串行的第i個元素,直到第n 1躺做完,待排序元素只剩下乙個,就不用再選了。選擇排序中有簡單選擇排序和堆排序。假設排序表為l 1.n 第i趟排序即從l i n 中選擇關鍵字最小的元...

選擇排序 簡單選擇排序

在要排序的一組數中,選出最小 或者最大 的乙個數與第1個位置的數交換 然後在剩下的數當中再找最小 或者最大 的與第2個位置的數交換,依次類推,直到第n 1個元素 倒數第二個數 和第n個元素 最後乙個數 比較為止。第一趟,從n個記錄中找出關鍵碼最小的記錄與第乙個記錄交換 第二趟,從第二個記錄開始的n ...