参考资料
- 《数据结构(C语言版)》 严蔚敏著
各种算法的时间复杂度和空间复杂度(参考链接)
算法之间的比较与总结
- 从平均时间性能而言,快速排序最佳,其所需时间最省,但快速排序在最坏情况下时间性能不如堆排序和归并排序。而后两者相比较的结果是,在n较大时,归并排序所需要的时间更省,但是它需要的存储空间更多。
- 从方法的稳定性来比较,基数排序、直接插入排序和归并排序是稳定的,而性能较好的堆排序、希尔排序和快速排序是不稳定的。同时还有简单的选择排序也是不稳定的。
总结
排序算法在面试和实际的编程中都会有很大的用处,所以《排序算法》这个系列主要的目的就是为了方便自己以后需要的时候查询。
附上每篇博客介绍的算法:
选择排序
- 简单选择排序
- 堆排序
插入排序
- 直接插入排序
- 折半插入排序
- 希尔排序
快速排序
- 快速排序
归并排序
- 归并排序
基数排序
- 基数排序