排序算法 -- 桶排序

Posted limeOracle

tags:

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

排序算法 -- 目录

桶排序 (Bucket sort)或所谓的箱排序的原理是将数组分到有限数量的桶子里,然后对每个桶子再分别排序(有可能再使用别的排序算法或是以递归方式继续使用桶排序进行排序),最后将各个桶中的数据有序的合并起来。

排序过程:

  1. 假设待排序的一组数统一的分布在一个范围中,并将这一范围划分成几个子范围,也就是桶
  2. 将待排序的一组数,分档规入这些子桶,并将桶中的数据进行排序
  3. 将各个桶中的数据有序的合并起来

Data Structure Visualizations 提供了一个桶排序的分步动画演示。

实例分析

设有数组 array = [29, 25, 3, 49, 9, 37, 21, 43],那么数组中最大数为 49,先设置 5 个桶,那么每个桶可存放数的范围为:0-9、10-19、20-29、30-39、40-49,然后分别将这些数放人自己所属的桶,如下图:

然后,分别对每个桶里面的数进行排序,或者在将数放入桶的同时用插入排序进行排序。最后,将各个桶中的数据有序的合并起来,如下图:

  Class : 

啦啦啦

 

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

算法渣-排序-桶排序

算法面试与实战-05排序算法- 时间复杂度为O(n)的排序算法(桶排序)

算法之排序算法——桶排序

排序算法七:桶排序思想

排序算法下——桶排序计数排序和基数排序

算法:排序之桶排序和基数排序