返回介绍

Counting Sort

发布于 2025-02-22 13:01:21 字数 745 浏览 0 评论 0 收藏 0

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

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

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

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

Reference

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文