幾種常用排序演算法的複雜度
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較大...