幾種常用排序演算法的複雜度

2021-08-10 08:37:55 字數 475 閱讀 2560

幾種常用排序演算法的複雜度

quicksort:快速排序

mergesort:歸併排序

timsort : 是乙個歸併排序做了大量優化的版本。對歸併排序排在已經反向排好序的輸入時表現o(n^2)的特點做了特別優化。對已經正向排好序的輸入減少回溯。對兩種情況混合(一會公升序,一會降序)的輸入處理比較好。

heapsort:堆排序

bubble sort:氣泡排序

insertion sort:插入排序

selection sort:選擇排序

shell sort:希爾排序

bucket sort:桶排序

radix sort:基數排序

常用排序演算法的複雜度

常用排序演算法複雜度 排序演算法 平均時間複雜度 最壞情況 最好情況 空間複雜度 穩定性複雜性 插入排序 o n 2 o n 2 o n o 1 穩定簡單 希爾排序 o n 1.3 o n 2 o n o 1 不穩定較複雜 選擇排序 o n 2 o n 2 o n 2 o 1 不穩定簡單 堆排序o ...

常用排序演算法的時間複雜度與空間複雜度

常用的排序演算法的時間複雜度和空間複雜度 排序法 最差時間分析 平均時間複雜度 穩定度 空間複雜度 氣泡排序 o n2 o n2 穩定 o 1 快速排序 o n2 o n log2 n 不穩定 o log2 n o n 選擇排序 o n2 o n2 穩定 o 1 二叉樹排序 o n2 o n log...

常用排序演算法的時間複雜度和空間複雜度

總結 1 當排序記錄個數n較大,關鍵碼分布較隨機,且對穩定性不作要求時,採用快速排序為宜。2 當待排序記錄個數n較大,記憶體空間允許,且要求穩定排序時,採用歸併排序。3 當待排序記錄個數n較大,關鍵碼分布可能出現正序或逆序的情況,且對穩定性不作要求時,採用堆排序或歸併排序。4 當待排序記錄個數n較大...