python 各种排序时间复杂度和空间复杂度

python 各种排序时间复杂度和空间复杂度
python 各种排序时间复杂度和空间复杂度_第1张图片
现在分情况讨论每种情况下的大小
平均情况: n平方>n1.3次方>nlog2n,证明如下:
n平方>nlog2n:
python 各种排序时间复杂度和空间复杂度_第2张图片
再证n的1.3次方>nlog2n:
python 各种排序时间复杂度和空间复杂度_第3张图片
所以: n平方>n1.3次方>nlog2n成立。
至于基数排序,可以参考下这篇文章:https://cloud.tencent.com/developer/news/387473(大哥,兄弟我第一次写博客,引用的不恰当,还请见谅)
综上:平均情况时:直接插入=直接排序=冒泡排序>shell排序>堆排序=归并排序
python 各种排序时间复杂度和空间复杂度_第4张图片
当最好情况,是直接排序>堆排序=快速排序=归并排序>直接插入=shell排序=冒泡排序
最坏情况是:直接插入=shell排序=直接排序=冒泡排序=快速排序>堆排序=归并排序
空间复杂度:当12时,快速排序>其余排序的。

你可能感兴趣的:(数据结构)