桶排序,计数排序
桶排序(bucket sort)
是分治策略的一个典型应用。它通过设置一些具有大小顺序的桶,每个桶对应一个数据范围,将数据平均分配到各个桶中;然后,在每个桶内部分别执行排序(递归);最终按照桶的顺序将所有数据合并。
从桶排序的角度看,我们可以将计数排序中的计数数组 counter
的每个索引视为一个桶,将统计数量的过程看作将各个元素分配到对应的桶中。
本质上,计数排序是桶排序在整型数据下的一个特例。
桶排序的理论时间复杂度可以达到 O(N+K)
核心:以空间换时间