排序算法对比

Posted 念奕玥

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了排序算法对比相关的知识,希望对你有一定的参考价值。

在这里插入图片描述

平方阶 O ( n 2 ) O(n^2) O(n2)排序:直接插入、直接选择和冒泡排序
线性对数阶 O ( n l o g 2 n ) O(nlog_2n) O(nlog2n)排序:快速排序、堆排序和归并排序
O ( n ( 1 + δ ) ) O(n^{(1+\\delta)}) O(n(1+δ))排序, δ \\delta δ是介于0和1之间的常数:希尔排序
线性阶 O ( n ) O(n) O(n)排序:基数排序,桶、箱排序

论是否有序的影响:
当原表有序或基本有序时,直接插入排序和冒泡排序将大大减少比较次数和移动记录的次数,时间复杂度可降至 O ( n ) O(n) O(n);而快速排序则相反,将蜕化为冒泡排序,时间复杂度提高为 O ( n 2 ) O(n^2) O(n2)
原表是否有序,对简单选择排序、堆排序、归并排序和基数排序的时间复杂度影响不大。

以上是关于排序算法对比的主要内容,如果未能解决你的问题,请参考以下文章

十大排序算法对比和C++实现

十大排序算法对比和C++实现

算法快速排序与归并排序对比

JS排序算法总结:八种算法对比

冒泡与快速排序的算法原理与性能对比

十大经典算法排序总结对比