排序演算法小小總結

2021-05-27 05:56:21 字數 1287 閱讀 4352

比較排序:排序結果中個元素的次序基於輸入元素間的比較。這列排序稱為比較排序。o(logn)

穩定性:所有相等的數經過排序後,仍能保持它們在排序之前的相對次序,稱為穩定排序。否則,稱為非穩定排序。

內排序:排序過程中所有需要排序的數都在記憶體,並在記憶體中調整他們的儲存順序。

外排序:排序中只有部分被調入記憶體,借助記憶體調整數在外村的存放順序的排序方法。

空間複雜度:空間效能是排序所需輔助空間大小

排序演算法(都是內排序,內排序也是外排序的基礎)

排序演算法

怎樣排序

時間複雜度

空間複雜度

穩定性

氣泡排序

比較排序

o(n^2)

o(1)

穩定排序

插入排序

比較排序

o(n^2)

o(1)

穩定排序

歸併排序

比較排序

o(n*log n)

o(n)

穩定排序

計數排序

非比較o(1)

穩定排序

基數排序

非比較o(1)

同子排序

桶排序非比較

o(1)

選擇排序

比較排序

o(n^2)

o(1)

非穩定排序

堆排序比較排序

o(n*log n)

o(1)

非穩定排序

快速排序

比較排序

最壞o(n^2),平均o(n*log n)

o(log n)

非穩定排序

shell排序

比較排序

o(n^a),1o(1)

非穩定排序

計數排序應用場景:假設n個輸入元素中的每乙個都介於0—k之間的整數。總的執行時間是o(n+k);當k=o(n)時,基數排序的執行時間為o(n)。

基數排序:給定n個d位數,每乙個數字可以取k種可能的值。如果所用的穩定排序需要o(n+k)的時間,基數排序演算法能以o(d(n+k))的時間正確地對這些數進行排序。

桶排序,又稱箱子排序:桶排序的輸入大致符合均勻分布,所有輸入資料的取值範圍是已知的[a,b),分r個相同大小的子區間(就是桶),每個桶使用鍊錶儲存資料,鍊錶是有序的。執行時間複雜度o(n+r)。

其中插入,歸併,快速已經整理。其他演算法沒有整理,這些排序演算法留待以後整理成**。

Vue知識點小小小總結

1 原理性 2 vue的一些指令 3 計算屬性 偵聽屬性 方法的比較 偵聽屬性 方法methods 4 元件的註冊 5 元件生命週期 1 生命週期的概念 vue中的生命週期指的是元件從建立到銷毀乙個過程,在這個過程中,我們在每乙個特定的階段會觸發一些方法 這些方法具備一些功能 我們給這些方法起了個名...

小小c 演算法題 5 插入排序

插入排序是最簡單 最容易理解 的一種排序演算法。其基本操作是將乙個數插入到已經有序的陣列中,那麼我們要做的是確定插入到什麼位置,所有在這個位置之後的數後移乙個位置,從而給這個要插入的數騰出位置。所以關鍵點是找插入位置。最簡單的辦法,從最後乙個元素開始找,邊找邊後移,一直到找到合適的插入位置。首先,陣...

排序演算法總結

1 直接插入排序 1 穩定性 穩定 2 適用情況 待排記錄規模較小,或者記錄已經基本有序 2 希爾排序 1 穩定性 不穩定 2 特點 希爾排序的執行時間依賴於增量序列,它的效率比直接插入排序有較大的改進。3 氣泡排序 1 穩定性 穩定 2 特點 當待排記錄基本有序是,氣泡排序是不錯的選擇 但由於氣泡...