多种内部排序算法的性能比较:时间复杂度,空间复杂度和稳定性

基于最近笔试遇到很多求解复杂度的问题,在这只是归纳总结一下,便于记忆:

内部排序法的性能比较
排序算法时间复杂度(平均情况)

时间复杂度(最坏情况)

空间复杂度稳定性
选择排序法O(n^2)O(n^2)O(1)不稳定
插入排序法O(n^2)O(n^2)O(1)稳定
折半插入排序法O(n^2)O(n^2)O(1)不稳定
希尔排序法O(n^1.25)O(n^1.25)O(1)不稳定
冒泡排序法O(n^2)O(n^2)O(1)稳定
快速排序法O(nlog2n)O(n^2)O(nlog2n)不稳定
堆排序法O(nlog2n)O(n^2)O(1)不稳定
归并排序法O(nlog2n)O(n^2)O(n)稳定
基数排序法O(n×d)O(n×d)O(n)稳定
快速排序法的平均执行时间较少,但是在最坏的情况下它的性能会发生退化,这时不如用堆排序和归并排序法效率高。当序列长度较短时,可采用容易实现的选择排序、插入排序或者冒泡排序法。当序列长度较长时,宜采用快速排序、堆排序或者归并排序。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部