排序:计数排序

目录

思想:

操作步骤: 

思路:

注意事项:

优缺点: 

代码解析:

完整代码展示:

排序:计数排序_第1张图片

思想:

计数排序又称为鸽巢原理,是对哈希直接定址法的变形应用。

操作步骤: 

  1. 统计相同元素出现次数
  2. 根据统计的结果将序列回收到原来的序列中

思路:

设立一个统计数组,统计数组的功能是存储 需要排序的数组内部的元素出现的次数。

且排序数组内部的元素 对应的是 统计数组的 下标。

最后根据统计数组的统计次数,来打印出全新的 有序的 数组。

排序:计数排序_第2张图片

注意事项:

因为需要排序的 数组 内部 元素可能最大最小值偏差过大,而这个数组内部的元素对应的是统计数组的下标,所以会导致统计数组的空间过大且浪费。

为了这个问题,需要进行一个相对映像进行调整。

优缺点: 

优点:效率极高O(aN + countN(范围))

缺点:

  1. 不适合分散的数据,更适合集中数据
  2. 不适合浮点数、字符串、结构体数据排序,只适合整数

代码解析:

排序:计数排序_第3张图片

完整代码展示:

排序:计数排序_第4张图片

排序:计数排序_第5张图片

你可能感兴趣的:(数据结构,排序,排序,排序算法,计数排序)