排序算法分类
排序算法大体可分为两种:
一种是比较排序,时间复杂度O(nlogn) ~ O(n^2),主要有:冒泡排序,选择排序,插入排序,归并排序,堆排序,快速排序等。
另一种是非比较排序,时间复杂度可以达到O(n),主要有:计数排序,基数排序,桶排序等。
这里我们来探讨一下常用的比较排序算法。下表给出了常见比较排序算法的性能:(图表来自网络)
排序算法稳定性的简单形式化定义为:如果Ai = Aj,排序前Ai在Aj
排序算法大体可分为两种:
一种是比较排序,时间复杂度O(nlogn) ~ O(n^2),主要有:冒泡排序,选择排序,插入排序,归并排序,堆排序,快速排序等。
另一种是非比较排序,时间复杂度可以达到O(n),主要有:计数排序,基数排序,桶排序等。
这里我们来探讨一下常用的比较排序算法。下表给出了常见比较排序算法的性能:(图表来自网络)
排序算法稳定性的简单形式化定义为:如果Ai = Aj,排序前Ai在Aj