排序算法没有绝对的“最强者”。快速排序很适合通用的内存排序,归并排序能够稳定地保证 O(n log n),而计数排序、桶排序和基数排序则可以利用数据特征,在特定场景下接近 O(n)。
本文按照这些算法在实际开发中的常见程度大致排序。这个顺序不是严格排名:不同语言的标准库和不同业务场景会采用不同方案,而且实际排序函数通常会组合多种算法,而不是只使用一种纯算法。
文中的符号含义如下:
- n:待排序元素的数量。
- k:取值范围大小、桶数量,或单个位上的可能取值数。
2026/8/19...大约 4 分钟