Day2 選擇排序

2021-10-06 10:22:03 字數 663 閱讀 5074

**參考本文對選擇排序的一些提示,在星球內記錄**及思考過程。

選擇排序是一種簡單直觀的排序演算法,無論什麼資料進去都是 o(n²) 的時間複雜度。所以用到它的時候,資料規模越小越好。唯一的好處可能就是不占用額外的記憶體空間了吧。

首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置

再從剩餘未排序元素中繼續尋找最小(大)元素,然後放到已排序序列的末尾。

重複第二步,直到所有元素均排序完畢。

這種排序的最大優勢就是省去了多餘的元素交換,氣泡排序是看見小的就交換,選擇排序是在剩下的數列中找最小的交換。

void

selectsort

(int array)

// 交換

int tem = array[i]

; array[i]

= array[minindex]

; array[minindex]

= tem;

}}

選擇排序存在乙個明顯問題,就是它的不穩定性。也就是說,當數列包含多個值相等的元素時,選擇排序有可能打亂它們的原有順序。

Day2 選擇排序

day 2 演算法題 寫出選擇排序 又找到乙個更小的值2,重新標記它為紅色 一輪比較後,找到最小值2並標記為黃色,表示就位,繼續在未排序序列中尋找最小值 錯誤出在這裡,換位置是都要帶著元素再列表中的索引的,這裡相當於用min的值替換了j位置的值 return our list 並沒有實現交換位置 l...

快速排序 day 2

問題 給定乙個長度為n的整數數列,以及乙個整數k。請用快速選擇演算法求出數列的第k小的數是多少。輸入格式 第一行包含兩個整數 n 和 k。第二行包含 n 個整數 所有整數均在1 1000000範圍內 表示整數數列。輸出格式 輸出乙個整數,表示數列的第k小數。資料範圍 1 n 1000000,1 k ...

Day2 氣泡排序bubble sort

氣泡排序bubble sort 冒泡演算法,取list中從第乙個元素開始,與它後面的元素比較,如果比它大,就交換位置,一直重複到它能到達的位置,每次遍歷都將 剩下的元素中最大的那個放在序列的最後,如如果完成排序,則可以退出了。輪詢次數為 list 1次,並且每輪詢一次list的數量減去1 pytho...