08-8.5.2 基数排序

👋 Hi, I’m @Beast Cheng
👀 I’m interested in photography, hiking, landscape…
🌱 I’m currently learning python, javascript, kotlin…
📫 How to reach me --> 458290771@qq.com


喜欢《数据结构》部分笔记的小伙伴可以订阅专栏,今后还会不断更新。🧑‍💻
感兴趣的小伙伴可以点一下订阅、收藏、关注!🚀
谢谢大家!🙏

思想

第一趟“收集”:以“个位”作为参考进行分配
第一趟“收集”结束:得到按“个位”递减排序的序列(链表)

第二趟“收集”:以“十位”进行分配,当两个数据“十位”相同时,“个位”更大的先入队
第二趟“收集”结束:得到按“十位”递减排序的序列“十位”相同的按“个位”递减排序

第三趟“收集”:以“百位”进行分配,当两个数据“百位”相同时,“十位”更大的先入队
第三趟“收集”结束:得到按“百位”递减排序的序列“百位”相同的按“十位”递减排序,若“十位”还相同则按“个位”递减排序

算法效率分析

需要 r r r 个辅助队列,空间复杂度 = O ( r ) =O(r) =O(r)
一趟分配 O ( n ) O(n) O(n) ,一趟收集 O ( r ) O(r) O(r),一共 d 趟分配、收集,总的时间复杂度 = O ( d ( n + r ) ) =O(d(n+r)) =O(d(n+r))

稳定性:稳定

应用

某学校有 10000 个学生,将学生信息按年龄递减排序
生日可拆分为三组关键字:年、月、日

基数排序擅长解决的问题:

  1. 数据元素的关键字可以方便地拆分为d组,且d较小
  2. 每组关键字的取值范围不大,即 r 较小
  3. 数据元素个数 n 比较大

相关推荐

  1. 08-8.5.2 基数排序

    2024-07-16 09:12:02       20 阅读
  2. AcWing 842. 排列数字——算法基础课题解

    2024-07-16 09:12:02       33 阅读
  3. 7-82 快速排序

    2024-07-16 09:12:02       26 阅读
  4. 排序算法——基数排序

    2024-07-16 09:12:02       55 阅读
  5. [排序算法]基数排序

    2024-07-16 09:12:02       26 阅读
  6. 排序---基数排序

    2024-07-16 09:12:02       27 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-16 09:12:02       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-16 09:12:02       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-16 09:12:02       58 阅读
  4. Python语言-面向对象

    2024-07-16 09:12:02       69 阅读

热门阅读

  1. Redis如何做到重启数据不丢失?

    2024-07-16 09:12:02       22 阅读
  2. DP讨论——适配器模式

    2024-07-16 09:12:02       24 阅读
  3. vscode OpenCV环境搭建

    2024-07-16 09:12:02       17 阅读
  4. 关于基环树找环问题

    2024-07-16 09:12:02       20 阅读
  5. Ubuntu下安装各种软件以及问题

    2024-07-16 09:12:02       27 阅读
  6. 第三节SHELL脚本中的变量与运算(1.6-1.7.3)

    2024-07-16 09:12:02       25 阅读
  7. ArcGIS Pro SDK (九)几何 4 折线

    2024-07-16 09:12:02       20 阅读
  8. 如何保护你的网络安全?

    2024-07-16 09:12:02       23 阅读
  9. 北京交通大学学报-社会科学版

    2024-07-16 09:12:02       22 阅读
  10. 【AI应用探讨】—生成对抗网络(GAN)应用场景

    2024-07-16 09:12:02       26 阅读
  11. QT教程-十四, QSpacerItem(可伸缩的空间项)

    2024-07-16 09:12:02       21 阅读