常用排序演算法複雜度
排序演算法
平均時間複雜度
最壞情況
最好情況
空間複雜度
穩定性複雜性
插入排序
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(nlogn)
o(nlogn)
o(nlogn)
o(1)
不穩定較複雜
氣泡排序
o(n^2)
o(n^2)
o (n)
o(1)
穩定簡單
快速排序
o(nlogn)
o(n^2)
o(nlogn)
o(nlogn)
不穩定較複雜
歸併排序
o(nlogn)
o(nlogn)
o(nlogn)
o(n)
穩定較複雜
計數排序
o(n+k)
o(n+k)
o(n+k)
o(n+k)
穩定桶排序
o(n+k)
o(n^2)
o(n)
o(n+k)
穩定基數排序
o (n*k)
o (n*k)
o (n*k)
o(n+k)
穩定較複雜
常用排序演算法的時間複雜度與空間複雜度
常用的排序演算法的時間複雜度和空間複雜度 排序法 最差時間分析 平均時間複雜度 穩定度 空間複雜度 氣泡排序 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較大...
常用排序演算法的時間複雜度和空間複雜度
以上快速排序和歸併排序的空間複雜度不正確 圖2沒有的參考圖1,以圖2為準 對,就是懶得重新畫圖了 排序法最差時間分析 平均時間複雜度 穩定度 空間複雜度 氣泡排序 o n2 o n2 穩定 o 1 快速排序 o n2 o n log2n 不穩定 o log2n o n 選擇排序 o n2 o n2 ...