数据结构 第10章_内排序.ppt

数据结构 第10章_内排序

再分别对每组中对象根据关键码K2进行排序,按K2值的不同,再分成若干个更小的子组,每个子组中的对象具有相同的K1和K2值。 依此重复,直到对关键码Kd完成排序为止。 最后,把所有子组中的对象依次连接起来,就得到一个有序的对象序列。 最低位优先法首先依据最低位关键码Kd对所有对象进行一趟排序,再依据次低位关键码Kd-1对上一趟排序的结果再排序,依次重复,直到依据关键码K1最后一趟排序完成,就可以得到一个有序的序列。使用这种排序方法对每一个关键码进行排序时,不需要再分组,而是整个对象组都参加排序。 LSD和MSD方法也可应用于对一个关键码进行的排序。此时可将单关键码 Ki 看作是一个子关键码组: 链式基数排序 基数排序是典型的LSD排序方法,利用“分配”和“收集”两种运算对单关键码进行排序。在这种方法中,把单关键码 Ki 看成是一个d元组: 其中的每一个分量 ( 1? j ? d ) 也可看成是一个关键码。 分量 (1 ? j ? d ) 有radix种取值,则称radix为基数。例如,关键码984可以看成是一个3元组(9, 8, 4),每一位有0, 1, …, 9等10种取值,基数radix = 10。关键码‘data’可以看成是一个4元组(d, a, t, a),每一位有‘a’, ‘b’, …, ‘z’等26种取值,radix = 26。 针对d元组中的每一位

文档评论(0)

1亿VIP精品文档

相关文档