最近数据结构刚刚讲完了基数排序,以下我的一些见解:
大多数的排序都是通过比较数据大小的方法对待排数据序列进行排序整理过程。
而基数排序却很另类,那么,基数排序是采用怎样的策略进行排序的呢?
简要概括一下:基数排序是通过“分配”和“收集”两个过程来实现排序的。
而这个思想该如何理解呢?请看以下例子:
(1)有以下待排序列
309 385 867 183 341 605 385
(2)第一次分配和收集:
首先按照各个数据的个位数字(即按照9,5,7,3,1,5,5)分配到0-9的10个区间内
结果如下:
分配结束后。接下来将所有空间中的数据按照序号由小到大依次重新收集起来,得到如下仍然无序的数据序列:
(3)第二次分配和收集:
这次按照十位数字进行分配,步骤同上
结果如下:
分配结束后。接下来将所有空间中的数据按照序号由小到大依次再次收集起来,得到如下仍然无序的数据序列:
(4)第三次分配和收集:
这次按照百位数字进行分配,步骤同上
结果如下&#