常用排序算法的介绍和对比(c++)
作者:互联网
排序是经常会考到的算法。各大排序算法总结:
排序算法 | 平均时间复杂度 | 最差时间复杂度 | 空间复杂度 | 数据对象稳定性 |
---|---|---|---|---|
冒泡排序 | O(n2) | O(n2) | O(1) | 稳定 |
选择排序 | O(n2) | O(n2) | O(1) | 数组不稳定、链表稳定 |
插入排序 | O(n2) | O(n2) | O(1) | 稳定 |
快速排序 | O(n*log2n) | O(n2) | O(log2n) | 不稳定 |
堆排序 | O(n*log2n) | O(n*log2n) | O(1) | 不稳定 |
归并排序 | O(n*log2n) | O(n*log2n) | O(n) | 稳定 |
希尔排序 | O(n*log2n) | O(n2) | O(1) | 不稳定 |
1. 冒泡排序
2. 选择排序
3. 插入排序
4. 快速排序
5. 堆排序
6. 归并排序
7. 希尔排序
标签:稳定,复杂度,log2n,c++,算法,n2,排序 来源: https://www.cnblogs.com/whutao/p/10823944.html