读书笔记-《数据结构与算法》-摘要9[计数排序]

本文详细介绍了计数排序算法,一种基于元素出现次数的排序技术,它要求输入数组有确定的元素范围。步骤包括确定新数组大小、统计每个元素的次数、累加计数并反向填充目标数组以避免重复。
摘要由CSDN通过智能技术生成

计数排序,顾名思义,就是对待排序数组按元素进行计数。使用前提是需要先知道待排序数组的元素范围,将这些一定范围的元素置于新数组中,新数组的大小为待排序数组中最大元素与最小元素的差值。

维基上总结的四个步骤如下:

  1. 定新数组大小——找出待排序的数组中最大和最小的元素
  2. 统计次数——统计数组中每个值为i的元素出现的次数,存入新数组C的第i项
  3. 对统计次数逐个累加——对所有的计数累加(从C中的第一个元素开始,每一项和前一项相加)
  4. 反向填充目标数组——将每个元素i放在新数组的第C(i)项,每放一个元素就将C(i)减去1

其中反向填充主要是为了避免重复元素落入新数组的同一索引处。

推荐文章:计数排序(Counting Sort)详解

在这里插入图片描述

图片来源:https://visualgo.net/en

  • 10
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值