高频算法题型:排序与二分查找是计算机科学的核心,它为问题解决提供了高效的计算方法。
本文介绍了高频算法题型:排序与二分查找的设计思路和实现方式,帮助你提升编程能力。
| 排序算法 | 平均时间 | 最坏时间 | 空间 | 稳定性 | 适用场景 |
|---|---|---|---|---|---|
| 冒泡排序 | O(n²) | O(n²) | O(1) | ✅ 稳定 | 教学 |
| 选择排序 | O(n²) | O(n²) | O(1) | ❌ 不稳定 | 教学 |
| 插入排序 | O(n²) | O(n²) | O(1) | ✅ 稳定 | 小数据/近乎有序 |
| 希尔排序 | O(n^1.3) | O(n²) | O(1) | ❌ | 中等数据 |
| 归并排序 | O(n log n) | O(n log n) | O(n) | ✅ 稳定 | 大数据/外部排序 |
| 快速排序 | O(n log n) | O(n²) | O(log n) | ❌ | 通用排序首选 |
| 堆排序 | O(n log n) | O(n log n) | O(1) | ❌ | 内存受限 |
| 计数排序 | O(n+k) | O(n+k) | O(k) | ✅ | 值域小 |
| 桶排序 | O(n+k) | O(n²) | O(n+k) | ✅ | 均匀分布 |
| 基数排序 | O(d×n) | O(d×n) | O(n+d) | ✅ | 多关键字 |
2026/6/27大约 11 分钟