我正在大学做一个算法课程,我在“算法导论3ED”中阅读了以下句子:p200:
... bucket sort很快,因为它假设输入有关。计数排序假定输入由小范围内的整数组成,而排序排序假设输入是由随机过程生成的,该过程在 [0,1)区间内均匀且独立地分布元素
为什么输入必须在[0,1]中?为什么不能使用存储桶排序对任何均匀分布的序列进行排序?
答案 0 :(得分:1)
我想使用区间[0,1]来获得理论结果。但请注意,任何间隔都可以轻松转换为给定的间隔,因此不会失去一般性。也就是说,实际上可以使用桶排序来对任何均匀分布的序列进行排序。
答案 1 :(得分:0)
您问题中给出的文字仅指出有关计数排序和存储桶排序的输入的条件。对于计数排序,关于输入的假设是列表中用于排序的整数范围非常小。关于桶排序的声明在哪里对输入值做出另一个假设。这里范围可以任意大,但该范围内的数字分布应该是均匀的。有关存储桶排序的语句中的值[0,1]并不表示存储桶排序有效的范围。它只是告诉你输入值的性质。