Java教程

常见各种排序算法时空复杂度及稳定性比较

本文主要是介绍常见各种排序算法时空复杂度及稳定性比较,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
算法 时间复杂度 空间复杂度 稳定性
最好情况 一般情况 最坏情况
直接插入排序 O(n) O(n2) O(n2) O(1) 稳定
冒泡排序 O(n) O(n2) O(n2) O(1) 稳定
简单选择排序 O(n2) O(n2) O(n2) O(1) 不稳定
希尔排序          
快速排序 O(nlog2n) O(nlog2n) O(n2) O(log2n) 不稳定
堆排序 O(nlog2n) O(nlog2n) O(nlog2n) O(1) 不稳定
归并排序 O(nlog2n) O(nlog2n) O(nlog2n) O(n) 稳定
基数排序 O(d(n+r)) O(d(n+r)) O(d(n+r)) O(r) 稳定
这篇关于常见各种排序算法时空复杂度及稳定性比较的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!