数据结构与算法基础-学习-35-各排序算法效率总结

排序的其他相关知识点和源码分享可以参考之前的博客:   

《数据结构与算法基础-学习-30-插入排序之直接插入排序、二分插入排序、希尔排序》,

《数据结构与算法基础-学习-31-交换排序之冒泡排序、快速排序》,

《数据结构与算法基础-学习-32-选择排序之简单选择排序、堆排序》,

《数据结构与算法基础-学习-33-归并排序》,

《数据结构与算法基础-学习-34-基数排序(桶排序)》

一、表格汇总

方法名 时间复杂度最好情况 时间复杂度最坏情况 时间复杂度平均情况 空间复杂度 稳定性
直接插入排序 O(n) O(n^2) O(n^2) O(1) 稳定
二分插入排序 O(n^2) O(n^2) O(n^2) O(1) 稳定
希尔排序 O(n) O(n^2) 猜想O(n^1.3) O(1) 不稳定
冒泡排序 O(n) O(n^2) O(n^2) O(1) 稳定
快速排序 O(n * log2^n) O(n^2) O(n * log2^n) O(n * log2^n) 不稳定
简单选择排序 O(n^2) O(n^2) O(n^2) O(1) 不稳定
堆排序 O(n * log2^n) O(n * log2^n) O(n * log2^n) O(1) 不稳定
归并排序 O(n * log2^n) O(n * log2^n) O(n * log2^n) O(n) 稳定
基数排序 O(n + m) O(k * (n + m)) O(k * (n + m)) O(n + m) 稳定

你可能感兴趣的:(#,数据结构与算法基础学习,排序算法,学习,算法,数据结构,c语言)