理论基础 —— 排序
【概述】
1.通常所說的排序算法指的是內(nèi)部排序算法,即:數(shù)據(jù)記錄在內(nèi)存中進行排序。
2.排序算法大體可分為兩種:
? ?1)非線性時間比較類排序:交換類排序、插入類排序、選擇類排序、歸并排序,時間復(fù)雜度O(nlogn) ~ O(n^2)。
? ?2)線性時間非比較類排序:計數(shù)排序、基數(shù)排序和桶排序,時間復(fù)雜度可以達到O(n)。
3.總結(jié):?
? ?1)比較類排序中,歸并排序號稱最快,其次是快速排序和堆排序,兩者實際不相伯仲,但數(shù)據(jù)初始排序狀態(tài)對堆排序不會產(chǎn)生太大的影響,而快速排序卻恰恰相反。
? ?2)非比較類排序一般要優(yōu)于比較類排序,但前者對待排序元素的要求較為嚴格,比如:計數(shù)排序要求待排序數(shù)的最大值不能太大,桶排序要求元素分桶后桶內(nèi)元素的數(shù)量要均勻
? ?3)非比較類排序的典型特點是以空間換時間。
【比較類排序】
1.交換類排序
1)冒泡排序
? ? ? ①原始冒泡排序:點擊這里
? ? ? ②雞尾酒排序:點擊這里
2)快速排序:點擊這里
2.插入類排序
1)直接插入排序:點擊這里
2)希爾排序:點擊這里
3.選擇類排序
1)直接選擇排序:點擊這里
2)堆排序:點擊這里
4.歸并排序
1)實現(xiàn):點擊這里
2)應(yīng)用:逆序?qū)栴}:點擊這里
【非比較類排序】
1.桶排序:點擊這里
2.計數(shù)排序:點擊這里
3.基數(shù)排序:點擊這里
【各種排序的比較】
總結(jié)
以上是生活随笔為你收集整理的理论基础 —— 排序的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 桁和 / Digit Sum(AtCod
- 下一篇: 理论基础 —— 线性表 —— 顺序表