zoukankan      html  css  js  c++  java
  • 线性时间排序算法:桶排序

     一、基本原理

    桶排序假设输入数据服从均匀分布,防止所有元素集中在少数几个桶中,平均情况下它的时间代价为O(n)O(n) 。基本思想: 桶排序将[0,1)区间划分为n个相同大小的子区间,也就是桶,然后将n个输入数据分别放到各个桶中,为了得到输出结果,我们队每个桶中的数进行插入排序,最后遍历所有桶按照次序输出数据即可。

    二、图解思考过程

            

     三、实现代码

    四、性能分析

    1、时间复杂度

    • 时间复杂度:O(n)O(n)
    • 空间复杂度:O(n)O(n)
    • 是否稳定:是

    2、稳定性

    2、应用场景

    如果满足桶排序的假设条件,那么桶排序的速度是非常快的

  • 相关阅读:
    方法的重载
    this用法
    简单的随机数 代码和笔记
    java内存简单剖析
    day 28
    day 27
    day 26
    day 25
    day 24
    day 23
  • 原文地址:https://www.cnblogs.com/luoahong/p/9685770.html
Copyright © 2011-2022 走看看