資料結構之排序演算法分類

2021-10-23 19:50:43 字數 433 閱讀 3547

一、根據時間複雜度不同,主流排序演算法可以分為三大類:

1.時間複雜度為o(n**

2)的排序演算法

氣泡排序

選擇排序

插入排序

希爾排序(希爾排序比較特殊,他的效能略優於o(n**

2),但又比不上o(nlogn)),姑且把它歸入本類

2.時間複雜度為o(nlogn)的排序演算法

快速排序

歸併排序

堆排序3

.時間複雜度為線性的排序演算法

計數排序

桶排序基數排序

二、根據穩定性,劃分為穩定排序和不穩定排序

1.如果值相同的元素在排序後仍然保持著排序前的順序,則這樣的排序演算法是穩定排序

2.如果值相同的元素在排序後打亂了排序前的順序,則這樣的排序演算法是不穩定排序

資料結構之排序演算法

1.插入排序 直接插入排序 include void insertsort int unsort int length unsort j temp int main void insertsort num,7 int i 0 for i i 7 i return 0 折半插入排序 include v...

資料結構之排序演算法

學過好久的東西,感覺都忘記的差不多了,雖然可能日常寫 的過程之中也可能寫過一些演算法,但是從來都沒有規整,最近忙裡偷閒,寫點關於排序的演算法,當然好多人都寫過一些很不錯的演算法blog,我寫一下,只是方便自己日後檢視,當然也給有需要的朋友一些參考,歡迎指正 排序演算法有 氣泡排序,選擇排序,插入排序...

資料結構之排序演算法

1 直接插入排序 將乙個記錄插入到已經排好序的有序表中,只有當排序結束時每個元素才能進入到正確的位置,複雜度為o n2 優點 演算法簡單 易行,當待排序記錄數量較少時,該演算法非常有效 缺點 資料規模較大時,效率比較低。演算法insertsort r,n insertsort1.插入排序 for j...