桶排序

Posted pacino12134

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了桶排序相关的知识,希望对你有一定的参考价值。

排序算法中最快、最简单的排序算法,及其耗费内存。

原理

把同类元素放在相同的桶里,每个桶子再个别排序(有可能再使用别的排序算法或是以递回方式继续使用桶排序进行排序),桶本身是有序的!

1、确定桶的数量;

2、遍历列表,把元素放到对应的桶里;

3、重复2;

4、把排序好的元素放回原列表,知道排序完成;

分析

平均:T(n)=o(n)

当要被排序的数组内的数值是均匀分配的时候,桶排序使用线性时间O(n)。

空间复杂度为O(n+m)。

桶排序的稳定性依赖于桶内排序。如果我们使用了快排,显然,算法是不稳定的。

代码

 

以上是关于桶排序的主要内容,如果未能解决你的问题,请参考以下文章

线性排序:桶排序计数排序

桶排序和基数排序

排序算法——桶排序

排序5:桶排序

图解排序 8/10 - 桶排序

java实现桶排序