【数据结构与算法】基数排序
2017-06-14 15:46
288 查看
这个不能说是完全的一种排序算法,因该是一种思路。是按位来分几个周期排的。
为了简单这里以整数为例,当然可以扩展到其他数据,比如时间。
假设待排数据最多是d位,那么就先按照个位数排一次,再按十位数。。。最后按最高位。
直觉上,因为最高位得决定权最大,应该是先从最高位开始才对,但是仔细想想,应该是最低位开始。因为如果按照最高位先排,那么次高位再排就会影响了之前的次序,相反如果先按最低位排,那么后面次低位会进行修正,保证了相同次低位的前提下,内部是按照最地位排序的。这就是基数排序的思想。
那么每一次迭代内部可以选用任意一种排序方法,所以说这只是一种思想,并非对应一个具体的排序算法。那么如果采用了计数排序,整体时间为Od(n+k),线性。
为了简单这里以整数为例,当然可以扩展到其他数据,比如时间。
假设待排数据最多是d位,那么就先按照个位数排一次,再按十位数。。。最后按最高位。
直觉上,因为最高位得决定权最大,应该是先从最高位开始才对,但是仔细想想,应该是最低位开始。因为如果按照最高位先排,那么次高位再排就会影响了之前的次序,相反如果先按最低位排,那么后面次低位会进行修正,保证了相同次低位的前提下,内部是按照最地位排序的。这就是基数排序的思想。
那么每一次迭代内部可以选用任意一种排序方法,所以说这只是一种思想,并非对应一个具体的排序算法。那么如果采用了计数排序,整体时间为Od(n+k),线性。
相关文章推荐
- 【数据结构与算法】——基数排序
- 数据结构与算法——基数排序简单Java实现
- 【数据结构与算法】内部排序之五:计数排序、基数排序和桶排序(含完整源码)
- [数据结构与算法]基数排序
- 【数据结构与算法】内部排序之五:计数排序、基数排序和桶排序(含完整源码)
- 数据结构与算法总结——排序(三)桶排序,计数排序和基数排序
- Linux C 函数参考之数据结构及算法篇
- 我要好好学习数据结构与算法
- Linux C 函数参考(数据结构及算法)
- 十四、数据结构相关算法
- 数据结构知识——树的三种不同遍历算法解析
- 数据结构与算法(C#实现)系列---AVLTree(二)(外摘)
- 数据结构与算法(C#实现)系列---演示篇(一)(外摘)
- Pku acm 2771 Guardian of Decency 数据结构题目解题报告(十五)---- 匈牙利算法求二分图的最大匹配
- Pku acm 1469 COURSES 数据结构题目解题报告(十一)---- 匈牙利算法求二分图的最大匹配
- Pku acm 2239 Selecting Courses 数据结构题目解题报告(十二)---- 匈牙利算法求二分图的最大匹配
- 数据结构及算法-何谓数据结构
- 基于关系数据库系统链式存储的树型结构数据,求某结点下的子树所有结点算法(t-sql语言实现)
- 数据结构教程 第四课 算法效率的度量和存储空间需求
- java数据结构及算法三