python實現十大排序演算法

2021-10-02 10:33:30 字數 286 閱讀 5266

平方階o(n^2):插入排序、選擇排序、氣泡排序

線性對數階o(nlogn):快速排序、堆排序、歸併排序

o(n^(1+a)): a介於0到1之間:希爾排序

線性階o(n): 基數排序、桶排序(計數排序)

穩定:氣泡排序、插入排序、歸併排序、基數排序

不穩定:選擇排序、快速排序、希爾排序、堆排序

in_place,不占用額外記憶體:氣泡排序、插入排序、選擇排序、希爾排序、快速排序、堆排序

out_place,占用額外記憶體:歸併排序、計數排序、基數排序、桶排序

十大排序演算法python實現

冒泡改進 有可能迭代到中間就已經全部有序了。如果一次遍歷元素都沒交換位置說明已經有序了,停止迭代。這裡引進了乙個計數。def bubble sort l for i in range len l change 0 for j in range len l i 1 if l j l j 1 l j l...

十大排序演算法的Python實現

author qiao 十大排序演算法的python實現 1 氣泡排序 def bubble iarray length len iarray for i in range length for j in range length i 1 if iarray j iarray j 1 tmp iar...

十大排序演算法以及python實現

排序演算法可以說是非常重要的基礎演算法。可能一般少有單獨排序的任務,但是大多任務都是基於排序演算法的。現在,對於排序演算法進行乙個總結。排序演算法可以分為兩種,第一種是比較類的,第二種是非比較類的。比較類演算法包括插入排序,選擇排序,快速排序等等方法 非比較類演算法包括計數排序,桶排序和計數排序。比...