您的位置:首页 > 理论基础 > 数据结构算法

【数据结构与算法】基数排序

2017-06-14 15:46 288 查看
这个不能说是完全的一种排序算法,因该是一种思路。是按位来分几个周期排的。

为了简单这里以整数为例,当然可以扩展到其他数据,比如时间。

假设待排数据最多是d位,那么就先按照个位数排一次,再按十位数。。。最后按最高位。

直觉上,因为最高位得决定权最大,应该是先从最高位开始才对,但是仔细想想,应该是最低位开始。因为如果按照最高位先排,那么次高位再排就会影响了之前的次序,相反如果先按最低位排,那么后面次低位会进行修正,保证了相同次低位的前提下,内部是按照最地位排序的。这就是基数排序的思想。

那么每一次迭代内部可以选用任意一种排序方法,所以说这只是一种思想,并非对应一个具体的排序算法。那么如果采用了计数排序,整体时间为Od(n+k),线性。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  数据结构 排序