選擇排序 基本演算法

2021-06-29 08:23:20 字數 655 閱讀 4224

人生何嘗不是在一次次的選擇中掙扎、前進,每一次選擇都是一次昇華,提公升自我。

扯多了。。。不就是個選擇排序,還整得這麼煽情,我這都不好意思了。。。

今天來說下排序中的另一種方法:選擇排序

基本思想:每趟排序在當前待排序序列中選出關鍵碼最小的記錄,新增到有序序列中。

在這裡有兩個問題需要解決:

⑴如何在待排序序列中選出關鍵碼最小的記錄?

通過一趟比較的過程記錄下關鍵碼最小的位置,用index記錄。

⑵如何確定待排序序列中關鍵碼最小的記錄在有序序列中的位置

第i趟簡單選擇排序的待排序區間是r[i] ~ r[n],則r[i]是無序區第乙個記錄,所以,將index所記載的關鍵碼最小的記錄與r[i]交換。

**描述:

void  selectsort (int r,int n)

}}

時間複雜度:

簡單選擇排序的時間複雜度為o(n^2)。

空間效能:

需要乙個輔助空間。

穩定性:

是一種穩定的排序演算法。

a little more for everyday.

排序演算法 基本選擇排序

選擇排序是一種簡單直觀的排序演算法,基本思想是每一次從待排序的資料元素中選出最小 或最大 的乙個元素,存放在序列的起始位置,直到全部待排序的資料元素排完。n個元素的數列,需要n 1趟直接排序。拿第1個元素,依次與後面的其他元素逐個比較,找出最小 最大 的元素,放到下標為0的位置。經過第1步,數列的第...

基本排序演算法 選擇排序

排序方式 選擇排序 表現最穩定的排序演算法之一 這個穩定不是指演算法層面上的穩定 因為無論什麼資料進去都是o n 的時間複雜度 所以用到它的時候,資料規模越小越好。唯一的好處可能就是不占用額外的記憶體空間了吧。理論上講,選擇排序可能也是平時排序一般人想到的最多的排序方法了吧。原理首先從原始陣列中找到...

基本排序演算法 選擇排序隨筆

簡介 選擇排序 selection sort 是一種簡單直觀的排序演算法。它的工作原理是 第一次從待排序的資料元素中選出最小 或最大 的乙個元素,存放在序列的起始位置,然後再從剩餘的未排序元素中尋找到最小 大 元素,然後放到已排序的序列的末尾。以此類推,直到全部待排序的資料元素的個數為零。選擇排序是...