JavaScript中常见排序算法详解( 三 )

  • 使用的映射函数能够将输入的N个数据均匀的分配到K个桶中
  • 同时,对于桶中元素的排序,选择何种比较排序算法对于性能的影响至关重要 。
    什么时候最快
    当输入的数据可以均匀的分配到每一个桶中
    什么时候最慢
    当输入的数据被分配到了同一个桶中
    桶排序JavaScript代码实现:
    JavaScript中常见排序算法详解

    文章插图
     
    基数排序
    基数排序有两种方法
    1. MSD 从高位开始进行排序
    2. LSD 从低位开始进行排序
    基数排序 vs 计数排序 vs 桶排序
    这三种排序算法都利用了桶的概念,但对桶的使用方法上有明显差异:
    • 基数排序:根据键值的每位数字来分配桶
    • 计数排序:每个桶只存储单一键值
    • 桶排序:每个桶存储一定范围的数值
    LSD基数排序动图演示:
    JavaScript中常见排序算法详解

    文章插图
     
    基数排序JavaScript代码实现:
    JavaScript中常见排序算法详解

    文章插图
     
    写在最后
    排序算法实在是博大精深,还有hin多hin多我没有总结到或者我自己还没弄明白的算法,仅仅是总结这十种排序算法都把我写哭了 。。。




    推荐阅读