前言-数据结构
数据结构是需要反复咀嚼,不管什么时候都可以重中获取现在在开发中的遇到的问题答案。
基数排序
-
定义
-
采用“分配”和“收集”的办法,用对多关键码进行排序的思想实现对单关键码进行排序的方法。
-
算法步骤
-
具体实现时,基数排序包含分配和收集,分配是将第k (1≤k≤d) 个排序码相同素放到一个队列中(按第k个排序码排序),收集是得到这一趟的排序结果。
-
例子
-
计算机存储过程
- 性能分析
- 在基数排序的过程中,对于记录的个数为m,各记录的关键字位数为d,每一位有r种取值的待排序序列,其时间复杂度为O(d(n+r))。而每一趟分配的时间复杂度为O(n),每一次收集的时间复杂度为O®。
- 所需要的辅助空间为2r个链表指针及n个指针域空间,所以其空间复杂度为O(n+2r))。
- 基数排序是稳定的。