幾種排序演算法比較

2022-03-15 20:37:32 字數 719 閱讀 4131

**資料結構(10)——排序

四、排序(sort)

《thinking in algorithm》12.詳解十一種排序演算法

排序法平均時間

最差情形

穩定度額外空間

備註冒泡

o(n2)

o(n2)

穩定o(1)

n小時較好

交換o(n2)

o(n2)

不穩定o(1)

n小時較好

選擇o(n2)

o(n2)

不穩定o(1)

n小時較好

插入o(n2)

o(n2)

穩定o(1)

大部分已排序時較好

基數o(logrb)

o(logrb)

穩定o(n)

b是真數(0-9),

r是基數(個十百)

shell

o(nlogn)

o(ns) 1

不穩定o(1)

s是所選分組

快速o(nlogn)

o(n2)

不穩定o(nlogn)

n大時較好

歸併o(nlogn)

o(nlogn)

穩定o(1)

n大時較好

堆o(nlogn)

o(nlogn)

不穩定o(1)

n大時較好

幾種STL排序演算法比較

接著上一回的說,對 stl幾種排序演算法做一比較,比較並不全面,僅僅對 std sort std stable sort c 標準庫qort 和std heap sort 做一比較,因為這是用的最多的,其底層實現已足夠說明日常生活中排序問題所需要考慮的問題。程式 如下 1 2 3 45 6 7 89...

幾種排序演算法的比較

1.分類 非線性時間比較類排序 通過比較來決定元素間的相對位置關係,由於其時間複雜度不能突破o nlogn 因此稱為非線性時間比較類排序。線性時間比較類排序 不通過比較來決定元素間的相對位置關係,它可以突破基於比較排序的時間下界,以線性時間執行,因此稱為線性時間比較類排序。2.複雜度 3.演算法相關...

幾種排序演算法簡單比較

1 選擇排序 選擇排序是一種不斷在剩餘元素找最小元素的方法,該排序與陣列大小無關,資料移動較少。首先找到陣列最小元素,將它和陣列第乙個位置元素交換。再在剩下元素找最小元素,和陣列第二個位置的元素交換,依次進行。2 插入排序 插入排序適合接近有序元素的排序。首先將陣列前兩個元素按公升序排列,然後將第三...