桶排序

为君一笑 提交于 2019-11-26 17:51:52

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

原理

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

1、确定桶的数量;

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

3、重复2;

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

分析

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

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

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

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

代码

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!