1.基数排序算法简介
1>.基数排序(radix sort)属于"分配式排序"(distribution sort),又称"桶子法"(bucket sort)或bin sort
.顾名思义,它是通过键值的各个"数位"上的值,将要排序的元素分配至某些"桶"中,以达到排序的目的;
2>.基数排序(Radix Sort)是桶排序的扩展;
3>.基数排序法是属于稳定性的排序,基数排序法是效率高的稳定性排序法;
排序算法的稳定性
- 定义: 列表中两个值相等的元素,经过排序之后,它们在列表中的相对位置保持不变(例如.A1=A2,排序前A1在A2前面,排序后A1还在A2前面),那么就可以称这种排序算法是稳定的;否则就称为不稳定的;
- 作用: 稳定性本质是维持具有相同属性的数据的插入顺序,如果后面需要使用该插入顺序进行排序,则稳定性排序可以避免这次排序;
- 分类:
- 稳定性排序: 冒泡排序,插入排序,归并排序,基数排序等;
- 不稳定性排序: 选择排序,快速排序,希尔排序,堆排序等;
4>.基数排序是1887年赫尔曼·何乐礼发明的.
它的原理是这样的:将整数按位数切割成不同的数字(列表中数值最大的元素是几位数就要切割几次或者说要排序几次),然后按每个位数分别比较(第一次比较第一位,第二次比较第二位...);
2.基数排序的基本思想
1>.将所有待比较元素统一为相同的数位长度,数位较短的元素前面(高位)补零,然后从元素最低位(最右边的个位)开始,依次进行一次排序,这样从最低位开始排序一直到最高位排序完成以后,列表就变成一个有序序列;
例如将数组{53, 3, 542, 748