排序
从比较排序到 SIMD 加速基数排序。性能是测量出来的,不是假设出来的。
本模块将算法视为可执行的结论。下面每个条目都链接到本仓库中的可运行代码、基准证据或可复现实验。
| 算法 | 时间 | 空间 | 缓存友好 | 可并行 | 关键权衡 |
|---|---|---|---|---|---|
| 快速排序(内省式) | O(n log n) 平均 | O(log n) | 部分 | 困难 | 枢轴的分支预测失误 |
| 归并排序 | O(n log n) | O(n) | 是 | 容易 | 合并需额外内存 |
| 基数排序(LSD) | O(nk) | O(n + r) | 是 | 中等 | 键宽和数位大小 |
| Robin Hood 哈希 | O(1) 期望 | O(n) | 是 | 困难 | 插入时的 Robin Hood 位移 |
| Swiss Tables(F14) | O(1) 期望 | O(n) | 是 | 困难 | SIMD 探测、扁平布局 |
perf stat 验证。