排序的穩定性個人理解 O n

2021-09-24 14:10:54 字數 623 閱讀 7612

以前一起不理解排序的穩定性到底是什麼意思 ,今天終於真正懂得了。

穩定:是指排序前兩個相等的元素的位置在排序後是不變的,叫穩定

穩定的排序 

氣泡排序 :因為它的機理是兩兩相鄰的元素進行比較,平均的時間複雜度是o(n²)

插入排序 :就像我們打牌抓牌然後在手中就把牌的順序排好一樣,開闢乙個新的空間,把原來的元素一次一次的往裡面放,第一次放之前先進行比較,讓其是乙個有序的形式,每一次再向裡面放的時候都要進行比較。讓和他相等的元素放在他的後面就是穩定的了

不穩定的排序 

選擇排序 :每個位置的元素選擇當前指定範圍中的最小值 ,第乙個位置元素選最小的,第二個位置的元素從除了第乙個元素中選擇最小,依次類推,eg: 3 ,4,3,5,1 就是不穩定的,第一次迴圈比較會把3 1 換位置  --》1 4 3 5 3 導致兩個相等的元素位置改變,所以是不穩定的

注:插入排序和選擇的區別:每次想這裡的時候都要再想一會兒,因為感覺他倆很像。假如排序的時陣列 :插入排序是先把乙個元素放進去,再依次和新建立的有序陣列比較,選擇合適的位置。選擇排序是在整個陣列中比較先選出最小的元素放在第乙個位置,再把陣列從第二個元素的位置開始比較,再選擇最小的位置放在第二個位置,依此比較,它是先比較再放在確定的位置,是已知位置選元素。插入排序是已知元素先位置

排序穩定性

這幾天筆試了好幾次了,連續碰到乙個關於常見排序演算法穩定性判別的問題,往往還是多選,對於我以及和我一樣拿不準的同學可不是乙個能輕易下結論的題目,當然如果你筆試之前已經記住了資料結構書上哪些是穩定的,哪些不是穩定的,做起來應該可以輕鬆搞定。本文是針對老是記不住這個或者想真正明白到底為什麼是穩定或者不穩...

排序的穩定性

這幾天筆試了好幾次了,連續碰到乙個關於常見排序演算法穩定性判別的問題,往往還是多選,對於我以及和我一樣拿不準的同學可不是乙個能輕易下結論的題目,當然如果你筆試之前已經記住了資料結構書上哪些是穩定的,哪些不是穩定的,做起來應該可以輕鬆搞定。本文是針對老是記不住這個或者想真正明白到底為什麼是穩定或者不穩...

排序的穩定性

穩定性定義 排序前後兩個相等的數相對位置不變,則演算法穩定。穩定性得好處 從乙個鍵上排序,然後再從另乙個鍵上排序,第乙個鍵排序的結果可以為第二個鍵排序所用。氣泡排序 小的元素往前調或者把大的元素往後調 比較是相鄰的兩個元素比較,交換也發生在這兩個元素之間 因為相等的元素不會進行交換,所以穩定 插入排...