一道数据结构中的排序问题..键字序列为(314,617,253,335,19,237,464,121,46,231,176,344)的一组记录,请给出采用基数排序时的每一趟结果
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/25 04:52:08
一道数据结构中的排序问题..键字序列为(314,617,253,335,19,237,464,121,46,231,176,344)的一组记录,请给出采用基数排序时的每一趟结果
一道数据结构中的排序问题..
键字序列为(314,617,253,335,19,237,464,121,46,231,176,344)的一组记录,请给出采用基数排序时的每一趟结果
一道数据结构中的排序问题..键字序列为(314,617,253,335,19,237,464,121,46,231,176,344)的一组记录,请给出采用基数排序时的每一趟结果
基数排序的方式可以采用LSD(Least significant digital)或MSD(Most significant digital),LSD的排序方式由键值的最右边开始,而MSD则相反,由键值的最左边开始. 以LSD为例,假设原来有一串数值如下所示: 73, 22, 93, 43, 55, 14, 28, 65, 39, 81 首先根据个位数的数值,在走访数值时将它们分配至编号0到9的桶子中: 0 1 81 2 22 3 73 93 43 4 14 5 55 65 6 7 8 28 9 39 接下来将这些桶子中的数值重新串接起来,成为以下的数列: 81, 22, 73, 93, 43, 14, 55, 65, 28, 39 接着再进行一次分配,这次是根据十位数来分配: 0 1 14 2 22 28 3 39 4 43 5 55 6 65 7 73 8 81 9 93 接下来将这些桶子中的数值重新串接起来,成为以下的数列: 14, 22, 28, 39, 43, 55, 65, 73, 81, 93 这时候整个数列已经排序完毕;如果排序的对象有三位数以上,则持续进行以上的动作直至最高位数为止.