排序算法 排序算法是学习数据结构与算法知识中很重要的一环,自己在做 OJ 的时候,各种 sort() 函数用的不亦乐乎,但是真正让手撕一个快速排序却又拿不下来。那就在此进行一个学习总结吧,希望能够帮助到需要的同学,也是为开源社区做贡献了。 排序算法CSND博客详解链接: 排序基本概念: [排序算法] 1. 排序算法基本概念 插入排序: [排序算法] 2. 直接插入排序(插入排序) [排序算法] 3. 二分插入排序(插入排序、二分查找) [排序算法] 4. 希尔排序(插入排序) 交换排序: [排序算法] 5. 冒泡排序(交换排序) [排序算法] 6. 快速排序多种递归、非递归实现及性能对比(交换排序) 选择排序 [排序算法] 7. 直接选择排序、三次异或交换法暴露的坑点(选择排序) [排序算法] 8. 堆排序及模拟实现堆(选择排序,堆排序,向下调整) 归并排序 [排序算法] 9.归并排序递归与非递归实现及算法复杂度分析(分治算法、归并排序、时间复杂度) 分配排序 [排序算法] 10. 桶排序及高精度计数器及随机数测试(分配排序) [排序算法] 11. 基数排序详解及采用一维数组实现优化(分配排序、算法优化、复杂度分析) 外排序 [排序算法] 12. 外排序基本概念及针对海量数据排序处理方法(海量数据、外排序) 承上启下: [排序算法] 13. 常见排序算法总结及运用高精度计时模板测试性能(复杂度分析、高精度计时、总结) 刷题及相关OJ