桶排序

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

原理

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

1、确定桶的数量;

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

3、重复2;

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

分析

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

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

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

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

代码

 

posted @ 2019-08-09 21:42  Austin_anheqiao  阅读(139)  评论(0编辑  收藏  举报