開心生活站

位置:首頁 > IT科技 > 

數據結構排序算法總結

IT科技3.07W

排序算法是《數據結構與算法》中最基本的算法之一。

排序算法可以分爲內部排序和外部排序,內部排序是數據記錄在內存中進行排序,而外部排序是因排序的數據很大,一次不能容納全部的排序記錄,在排序過程中需要訪問外存。常見的內部排序算法有:插入排序、希爾排序、選擇排序、冒泡排序、歸併排序、快速排序、堆排序、基數排序等。用一張圖概括:

數據結構排序算法總結

點擊以下圖片查看大圖:

數據結構排序算法總結 第2張

關於時間複雜度

平方階 (O(n2)) 排序 各類簡單排序:直接插入、直接選擇和冒泡排序。

線性對數階 (O(nlog2n)) 排序 快速排序、堆排序和歸併排序;

O(n1+§)) 排序,§ 是介於 0 和 1 之間的常數。 希爾排序

線性階 (O(n)) 排序 基數排序,此外還有桶、箱排序。

關於穩定性

穩定的排序算法:冒泡排序、插入排序、歸併排序和基數排序。

不是穩定的排序算法:選擇排序、快速排序、希爾排序、堆排序。

名詞解釋:

n:數據規模k:"桶"的個數In-place:佔用常數內存,不佔用額外內存Out-place:佔用額外內存穩定性:排序後 2 個相等鍵值的順序和排序之前它們的順序相同

包含以下內容:

1、冒泡排序 2、選擇排序 3、插入排序 4、希爾排序 5、歸併排序 6、快速排序 7、堆排序 8、計數排序 9、桶排序 10、基數排序
標籤:數據結構 算法