資料結構中的各種排序總結

2021-08-14 12:22:33 字數 583 閱讀 3040

(1)

簡單排序法一般只用於

n較小的情況(例如

n<30

)。當序列的記錄「基本有序」時,直接插入排序是最佳的排序方法。如果記錄中的資料較多,則應採用移動次數較少的簡單選擇排序法。

(2)快速排序、堆排序和歸併排序的平均時間複雜度均為

o(n㏒

n),但實驗結果表明,就平均時間效能而言,快速排序是所有排序方法中最好的。遺憾的是,快速排序在最壞情況下的時間效能為

o(n²

)。堆排序和歸併排序的最壞時間複雜度仍為

o(n㏒

n),當

n較大時,歸併排序的時間效能優於堆排序,但它所需的輔助空間最多。

(3)可以將簡單排序法與效能較好的排序方法結合使用。例如,在快速排序中,當劃分子區間的長度小於某值時,可以轉而呼叫直接插入排序法;或者先將待排序序列劃分成若干子串行,分別進行直接插入排序,然後再利用歸併排序法,將有序子串行合併成乙個完整的有序序列。

(4)從排序的穩定性上來看,在所有簡單排序法中,簡單選擇排序是不穩定的,其他各種簡單排序法都是穩定的。然而,在那些時間效能較好的排序方法中,希爾排序、快速排序、堆排序都是不穩定的,只有歸併排序是穩定的。

資料結構中的各種排序 總結篇

乙個月沒有寫文章,原因是一直在忙碌著,但是其實是有收穫的,下面就是我這前半個月最大的收穫 對於資料結構中排序演算法的總結,在我找工作的道路上幫助了我好多。如有錯誤,歡迎指正!一 基本概念 1 排序 按照一定的關鍵字,將乙個序列排列成想要得到的乙個新的序列。2 內部排序和外部排序 整個排序過程完全在記...

資料結構中的各種查詢 總結篇

一 基本概念 1 列表 待搜尋的資料集合。2 關鍵字 要查詢的那個資料。3 查詢 一種演算法過程。二 基於線性表的查詢 1 順序查詢 1 思想 逐個比較,直到找到或者查詢失敗。2 時間複雜度 t n o n 3 空間複雜度 s n o n 4 程式 2 折半查詢 1 思想 又稱二分查詢,對於已經按照...

資料結構中內部排序總結

1 首先說乙個概念 穩定排序與非穩定排序 如果乙個序列中原來相同的元素,排序完成後,仍然保持著原來的順序,那麼就成為穩定排序,反之就是非穩定排序。2 1 快速排序 quicksort 快速排序是乙個就地排序,分而治之,大規模遞迴的演算法。從本質上來說,它是歸併排序的就地版本。快速排序可以由下面四步組...