登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
签到
每天签到奖励2-10圆
导读
排行榜
TG频道
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
VIP申请
VIP网盘
网盘
联系我们
发帖说明
每日签到
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
业界
›
算法分析--基数排序
算法分析--基数排序
[ 复制链接 ]
捷荀讷
3 天前
基数排序简介
只讨论非负整数
认为个位,十位分别是一个关键字
时间复杂度 O(KN)线性
高位优先(不好)
先按照高位升序排序,依次进行下去,直到排到最低位。
出自https://juejin.cn/post/6998015030247718942
因为高位有一个分组的动作,在每个组里面对低位再排序。可以用递归。实际上,完全可以用低位排序。
低位排序(好)
首先按照个位数字进行一次 稳定排序(相同数字顺序不变)
然后按照十位数字进行一次 稳定排序(相同数字顺序不变)
然后按照百位数字进行一次 稳定排序(相同数字顺序不变)
代码编写
n个数字,如何得到每个数位上的数值:
低位抹去
再取个位(模10)
int index = a[i]/base % 10;
复制代码
如果想要给每个数字按个位数排序,第一步需要干什么?
找到每个数字应该去的位置的索引。
[code]// 统计每个数字出现的次数memset(count,0,sizeof(int)*10);for(int i=0;i
算法
分析
基数
排序
相关帖子
拔河——算法题(前缀,二分查找)
8. Java JUC源码分析系列笔记-手写AQS
21. Java JUC源码分析系列笔记-JDK1.7的ConcurrentHashMap
绿盟大模型安全风险分析与防护架构
浅谈 Tarjan 算法
逆向分析CoreText中的字体级联/Font Fallback机制
GapBuffer高效标记管理算法
遗传算法入门
一次XFS死锁问题分析
[python] 代码性能分析工具line_profiler使用指北
vip免费申请,1年只需15美金$
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
安全
拔河——算法题(前缀,二分查找)
1
482
管水芸
2025-10-13
安全
8. Java JUC源码分析系列笔记-手写AQS
1
812
谷江雪
2025-10-13
安全
21. Java JUC源码分析系列笔记-JDK1.7的ConcurrentHashMap
1
650
仁夹篇
2025-10-13
安全
绿盟大模型安全风险分析与防护架构
0
96
啸妹回
2025-10-13
业界
浅谈 Tarjan 算法
0
873
少屠
2025-10-19
安全
逆向分析CoreText中的字体级联/Font Fallback机制
1
374
魁睥
2025-10-19
业界
GapBuffer高效标记管理算法
1
833
施婉秀
2025-10-19
业界
遗传算法入门
0
221
孟清妍
2025-10-20
业界
一次XFS死锁问题分析
0
433
里豳朝
2025-10-20
业界
[python] 代码性能分析工具line_profiler使用指北
0
687
戈森莉
2025-10-24
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
签约作者
程序园优秀签约作者
发帖
捷荀讷
3 天前
关注
0
粉丝关注
18
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
anyue1937
9994893
dage888
999994
3934307807
992122
4
刎唇
9993
5
富账慕
9968
6
邹语彤
9973
7
丧血槌
9977
8
二艰糖
9988
9
匝抽
9986
10
聚怪闩
9945
查看更多