排序算法-桶排序

桶排序很适用于有 0~100 个数, 然后打乱顺序, 重新分配. 不过如果给定的数据范围差距很大, 桶排序的算法效率变低.

步骤

  1. 申请 n 个桶,根据需求
  2. 遍历一个给定的数组,找到最大值和最小值
  3. 遍历数组,假设遍历的值为num,按照公式floor((num - min) / n)即可得知放入哪个桶
  4. 如果桶中已存在元素,拉出一个链表,并且按照从小到大的顺序
  5. 重复 3,4 直至把所有元素装入桶中
  6. 遍历所有桶中的链表, 直接把每一个元素载入数组,排序即可完成

最后附上一张动态图展示,来源见水印中.
《排序算法-桶排序》

点赞