数据结构之基数排序

本文详细介绍了基数排序算法的步骤,包括按位分配和收集,以及如何确保递减顺序。通过实例说明了如何处理多位数的排序,强调了稳定性和多关键字排序的应用。同时,讨论了算法效率和关键注意事项,如设置队列数量和关键字范围。
摘要由CSDN通过智能技术生成

基数排序

在这里插入图片描述
先把各个数以个位数不同分到不同的队列中
如果一个队列多个元素用链表连起来
在这里插入图片描述
第一趟分配
然后进行第一趟收集
在这里插入图片描述

应为我们想得到递减
所以我们从个位数高到低收集
在这里插入图片描述
在这里插入图片描述
然后第二趟分配
根据第一趟得到的结果
以十位数分配
在这里插入图片描述
这里注意!
因为第一趟按个位分的,所以个位大的应该先入队,这就能保证
链表的第一个元素经过n次分配后,他的后n个元素肯定大于链表其他元素的后n个
这里的队列6
的68>66,当然第三趟分配后又不一样,这就能保证最后的序列有序
在这里插入图片描述
第二趟收集呗
在这里插入图片描述
这里最后收集的相当于后两位数的有序排序

第三趟分配
在这里插入图片描述
这里十位大的优先入队,能保证996>985(百位相同十位数更大,肯定链表头最大呗)
在这里插入图片描述
第三趟收集就排序完毕,一共三位数
在这里插入图片描述

对上面步骤总结

注意,按照权重递增
而且设置空队列的个数为每个关键字可能取值的范围
比较的序列中的元素必须初始的长度相同
在这里插入图片描述

算法效率分析

在这里插入图片描述

稳定性

在这里插入图片描述

基数排序应用

在这里插入图片描述
多关键字排序
在这里插入图片描述

总结

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小袁拒绝摆烂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值