十大排序演算法

2021-08-22 19:20:30 字數 703 閱讀 9136

1.非線性時間類排序(時間複雜度未突破$ 0(nlog_2n)$)

不穩定的四個排序演算法

選擇排序: 0(n2)

希爾排序: 0(n1.3)希爾排序實現python

快速排序:0(n

log2

n)

0(nlog_2n)

0(nlog

2​n)

快速排序實現c++&python

堆排序:0(n

log2

n)

0(nlog_2n)

0(nlog

2​n)

python實現堆排序

穩定的三個排序演算法

插入排序: 0(n2)插入排序實現c++&python

氣泡排序:0(n2) 氣泡排序實現c++&python

歸併排序:$ 0(nlog_2n)$歸併排序實現python

所謂穩定和不穩定

穩定:如果a原本在b前面,而a=b,排序之後a仍然在b的前面。

不穩定:如果a原本在b的前面,而a=b,排序之後 a 可能會出現在 b 的後面。

2.線性時間類排序

桶排序:$ 0(n+k)$

計數排序:$ 0(n+k)$

基數排序:$ 0(n+k)$

十大排序演算法

排序規則 從左至右依次增大 一 基於比較的排序演算法 插入排序 逐個遍歷未排序序列,將其在已排序序列中從右到左比較,直到遇到比自己小的數,然後將元素插入到那個數的後面,有序序列從左向右生長。選擇排序 在未排序序列中選擇最小的元素,將其插入到已排序序列的末尾,有序序列從左向右生長。氣泡排序 從左至右逐...

十大排序演算法

github 排序演算法是 資料結構與演算法 中最基本的演算法之一。排序演算法可以分為內部排序和外部排序,內部排序是資料記錄在記憶體中進行排序,而外部排序是因排序的資料很大,一次不能容納全部的排序記錄,在排序過程中需要訪問外存。常見的內部排序演算法有 插入排序 希爾排序 選擇排序 氣泡排序 歸併排序...

十大排序演算法

1 選擇排序 找到陣列中最小的那個元素,其次,將它和陣列的第乙個元素交換位置。其次,在剩下的元素中找到最小的元素,將它與陣列的第二個元素交換位置。如此往復,直到將整個陣列排序。這種方法我們稱之為選擇排序。public class 選擇排序 system.out.println arrays.tost...