排序算法之基数排序

基数排序

定义:
借助多关键词排序的思想对单逻辑关键词进行排序的方法。
借助“分配”“收集”两种操作对单逻辑关键词进行排序,
基是指关键词的范围取值
(扑克牌的“花色”关键词基是4,“数值”关键词基是13)

多关键词排序:
有n个记录的序列{R1,R2,…Rn},其中每个记录Ri有{K1,K2…..Kn}个关键词称序列对关键词有序。
(其中对于任意两个记录,因为有序,必有一个记录在另一记录前面。)
则前序关键词的任意取值都要小于后序关键词的取值
(c语言数据结构p285)
最前序的关键词称最主位关键词,相应的最后序称为最次位关键词

排序的两种方法:
MSD(most significant digit first):最高优先位法,
LSD(least significant digit first):最低优先位法。
( 通俗的说就是如果扑克牌的花色为最主位关键词,数值为最次位关键词,那么MSD就是先按花色分类得到不同基的序列。然后再对数值进行排序得到更精细的序列。)
这其中未规定排序时使用的方法。
(按照书上所说我有一点不太明白,书中所述按照LSD方法排序不必划分成子序列,每个关键字都是整个序列排序,而MSD只是分别对子序列排序,扑克牌例子中每个数值有四种花色,有13个数值,按照LSD,数值也被划分成了13个子序列,然后按花色,确定了每张牌的顺序,就排完了,不还是对子序列进行排序吗,为什么会说每个关键词都是整个序列进行排序??)

辅助空间:2*基的值
记录数:N(链式存储可省略掉)
参考教材:《数据结构c语言版》
BY jearchen

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值