排序算法总结

算法 是否稳定 是否为原地排序 时间复杂度 空间复杂度
冒泡排序 N*N 1
选择排序 N*N 1
插入排序 N*N 1
归并排序 N*logN N
快速排序 N*logN logN
堆排序 N*logN 1
希尔排序 N*logN 1
基数排序 N M:桶的数量
计数排序 N M:桶的数量

冒泡排序

image

选择排序

image

运行时间与输入无关
数据移动最少

插入排序

image

对于部分有序数组十分高效,适合小规模数组

归并排序

image

merge时,判断是否有序,若有序则无需merge操作

快速排序

image

case:
数组中出现超过一半的数字;
最小的k个数;

堆排序

image

希尔排序

image

基数排序

image

计数排序

image
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容