常規排序演算法總結

2021-08-05 19:51:03 字數 1050 閱讀 1197

首先推薦乙個學習資料結構的優秀的視覺化**:

主要總結以下6種排序演算法,其中插入排序、選擇排序、歸併排序、快速排序。

1. 氣泡排序(bubble sort)和快速排序(quick sort)和隨機快速排序(random quick sort)

博文待寫

2.插入排序(insertion sort)和希爾排序(shell sort):希爾排序是插入排序的高效改進版本。

博文待寫

3.選擇排序(selection sort)和堆排序(heap sort)

博文待寫

4.歸併排序(merge sort)

博文待寫

5. 計數排序(counting sort)

博文待寫

6. 基數排序(radix sort)

博文待寫

排序演算法

平均情況

最好情況

最壞情況

空間複雜度

穩定性氣泡排序

o(n^2)

o(n)

o(n^2)

o(1)

穩定快速排序

o(nlgn)

o(nlgn)

o(n^2)

o(lgn)

不穩定插入排序

o(n^2)

o(n)

o(n^2)

o(1)

穩定希爾排序

o(n^1.5)

o(n)

o(n^2)

o(1)

不穩定選擇排序

o(n^2)

o(n^2)

o(n^2)

o(1)

不穩定堆排序

o(nlgn)

o(nlgn)

o(nlgn)

o(1)

不穩定歸併排序

o(nlgn)

o(nlgn)

o(nlgn)

o(n)穩定

各種常規排序演算法總結

基本思想是 每次將乙個待排序的記錄,按其關鍵字大小插入到前面已經排好序的子表中的適當位置,直到全部記錄插入完成為止。常規插入排序分兩種,即直接插入排序和希爾排序。假設待排序的記錄放在陣列r 0.n 1 中,排序過程的某一中間時刻,r被劃分成兩個子區間r 0.i 1 和r i.n 1 其中 前乙個區間...

常規排序演算法 選擇排序

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

五一常規總結

其實這篇部落格本來是昨天五月一日寫的,奈何昨天晚上回家太晚,早把這事拋到九霄雲外去了,所以還是今天來總結五一之前的課吧。了解了相當於高階版的二分演算法,知道了原來二分也是要控制的這麼精密,二分法找答案,最小中求最大,或最大中求最小時,當然對未排序的要先排序 應用範圍 1,求值 2,引數間具有相關性時...