zoukankan      html  css  js  c++  java
  • 排序算法之计数排序

    概述

    简单来说, 计数排序就是申请一个相同数据范围的数组空间, 计算每个数字各有几个,如此即可.

    如一个数组为: [5, 2, 3, 4, 6, 3, 1, 0]

    申请一个长度为6的数组(因为数组范围为0-5), 其中的值为: [1, 1, 1, 2, 1, 1, 1]

    其数组意思就是, 0有1个,1有1个, 类推

    最后将其拼装为排序好的数组即可

    通过描述可以看出, 这个排序不适合范围过大的数组, 如果有一个长度为2的数组: [1, 9999999999999], 虽然数组很短, 但是用计数排序的话, 计数数组也是十分大的. 而对于数字范围小, 且重复数字很多的情况, 那就很好了.

    排序算法之计数排序

     

    其时间空间复杂度如下:

    排序算法之计数排序

     

    Java代码实现

    好吧, 计数排序很简单, 简单Java代码实现:

    排序算法之计数排序
  • 相关阅读:
    Vue知识总结
    Excel使用技巧
    java框架总结
    java反射学习总结
    java虚拟机
    vue学习知识
    mysql索引知识
    前端函数定义及表格总结
    SpringMVC异常处理
    restful风格的概念
  • 原文地址:https://www.cnblogs.com/hujingnb/p/10181653.html
Copyright © 2011-2022 走看看