桶排序文档
桶排序假设输入是由一个随机过程产生的,该过程将元素均匀、独立地分布在[0,1)这个区间上。桶排序将[0,1)区间划分为n个相同大小的子区间,或称为桶。
桶排序算法的基本过程就是先对每个桶中的数进行排序,然后遍历每个桶,按照次序将每个桶中的元素列出来即可。
如下面的图所示:
经过数学推理,得到:
即使数据不服从均匀分布,桶排序也依然可以线性时间内完成。
只要输入数据满足下列性质:
所有桶的大小的平方和与总的元素数呈现线性关系。那么通过公式,我们依然可以知道:桶排序依然能在线性时间内完成。