Algorithm 整数的桶排序

Algorithm 整数的桶排序,algorithm,Algorithm,有人能帮我介绍整数的桶排序算法吗?人们常常错误地说他们有这个算法,但实际上有一个计数排序!也许它的工作原理类似,但它是不同的 我希望你能帮我找到正确的方法,因为现在我不知道(Cormen's book和Wikipedia没有那么大的帮助) 提前感谢您的回复 计数排序只对整数起作用,而桶排序可以对任何有值的对象起作用,而且,最后的循环有点不同 计数排序维护一个额外的整数数组,它基本上计算某个数字的数量,然后在最后一个循环中通过额外数组时,再次创建该数字,我的意思是-从面向对象的角度来看,它不是同

有人能帮我介绍整数的桶排序算法吗?人们常常错误地说他们有这个算法,但实际上有一个计数排序!也许它的工作原理类似,但它是不同的

我希望你能帮我找到正确的方法,因为现在我不知道(Cormen's book和Wikipedia没有那么大的帮助)

提前感谢您的回复


计数排序只对整数起作用,而桶排序可以对任何有值的对象起作用,而且,最后的循环有点不同

计数排序维护一个额外的整数数组,它基本上计算某个数字的数量,然后在最后一个循环中通过额外数组时,再次创建该数字,我的意思是-从面向对象的角度来看,它不是同一个对象,而是一个具有相同值的新对象

然后,我们有桶排序。Bucket sort遍历数组,但它不是在数组中的相关位置,而是将项目插入某种列表中(我喜欢使用队列,这样它是一种稳定的排序)。然后,在最后一个循环中,算法遍历整个附加数组,并将每个bucket中的元素排到数组中。这样它就是同一个物体


如果您正在对任何内容进行排序,并且您知道数字的范围小于nlogn,那么它很简单——如果是整数,则使用计数排序;如果对象有一些附加数据,则使用桶排序。当然,您可以对整数使用桶排序,但计数排序占用的空间要小得多。

这应该以引号的形式呈现,并适当引用原始来源(维基百科文章KennyTM链接到)。