基数排序,外排序

本文详细介绍了基数排序(LSD)的方法及步骤。首先根据个位进行初次分组,再按十位等高位依次排序,每次分组均保留前次排序结果。适用于大数据集的高效排序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数列內容42124035532305430124
第1次分组
组0  240  430
组1  421
组2  532
组3 
组4  124
组5  35  305
组6 
组7 
组8 
组9 
数列內容24043042153212435305
第2次分组
组0  305
组1 
组2  421  124
组3  430  532  35
组4  240
组5 
组6 
组7 
组8 
组9 
数列內容30542112443053235240
第3次分组
组0  35
组1  124
组2  240
组3  305
组4  421  430
组5  532
组6 
组7 
组8 
组9 
数列內容35124240305421430532

基数排序的方法如下:(LSD)
1、根据数据项个位上的值,把所有的数据项分为10组;
2、然后对这10组数据重新排列:把所有以0结尾的数据排在最前面,然后是结尾是1的数据项,照此顺序直到以9结尾的数据,这个步骤称为第一趟子排序。

3、在第二趟子排序中,再次把所有的数据项分为10组,但是这一次是根据数据项十位上的值来分组的。这次分组不能改变先前的排序顺序。也就是说,第二趟排序之后,从每一组数据项的内部来看,数据项的顺序保持不变;

4、然后再把10组数据项重新合并,排在最前面的是十位上为0的数据项,然后是10位为1的数据项,如此排序直到十位上为9的数据项。

5、对剩余位重复这个过程,如果某些数据项的位数少于其他数据项,那么认为它们的高位为0。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值