基数排序
计数排序,它适用于数据量 n 较大但数据范围 m 较小的情况。假设我们需要对 n = 10^6 个学号进行排序,而学号是一个 8 位数字,这意味着数据范围 m = 10^8 非常大,使用计数排序需要分配大量内存空间,而基数排序可以避免这种情况。
「基数排序 Radix Sort」的核心思想与计数排序一致,也通过统计个数来实现排序。在此基础上,基数排序利用数字各位之间的递进关系,依次对每一位进行排序,从而得到最终的排序结果。
算法流程
以学号数据为例,假设数字的最低位是第 1 位,最高位是第 8 位,基数排序的步骤如下: