zoukankan      html  css  js  c++  java
  • 桶排序

    桶排序的核心思想就是分治处理数据,把数据按照大小分发到各个区间(区间内数据保证有序,数据结构可以使用链表,方便分发过来的新数据插入)。

    假设有N条数据是分布在一个固定的区间内(0,n),现在要对其排序,桶排序步骤如下

    1 把(0,n)划分成m个区间,像这样 (0,n/m),(n/m+1, 2n/m),(2n/m+1,3n/m)...

    2 遍历待排序的数据,把每个数字都按照大小分发到每个区间里面,保证插入有序

    3 按照区间大小把每个区间的数据连接起来就好了

    桶排序最好情况 : 待排数据完全均匀分布到m个区间内

    桶排序最差情况 : 待排数据全部分配到一个区间内,这种情况就是对全数据做了插入排序

    应用点:大数据的排序,比如有海量数据要进行排序,内存完全不够用,那么这时候就可以按照整数区间范围设定多个文件,再遍历海量待排数据,按照大小放入对应文件里面,再对文件内数据进行排序(假设划分合理,内存够),最后把各文件按照区间大小连接起来就好了

  • 相关阅读:
    top 命令
    通过公网访问内网的几种方式总结
    借助IDE到处Runnable JAR 的步骤
    Java SE 基础知识(String,Array)
    Java SE 基础知识(二)
    周记 2014.12.13
    nginx 总结
    在VPS上配置SS
    Markdown 语法手册
    ASCII码表
  • 原文地址:https://www.cnblogs.com/hdflzh/p/4052838.html
Copyright © 2011-2022 走看看