排序 基数排序
来源:互联网 发布:wps for mac 编辑:程序博客网 时间:2024/05/21 17:33
基数排序的主要思想:
基数排序又称"桶子法",他从低位开始将待排序的数按照这一位的值放到相应的编号为0到9的桶中。等到低位排完之后得到一个序列,再将这个序列按照次低位的大小进入相应的桶中。以此类推,直到将所有的位都排完之后,这组数就已经有序了。
例:
基数排序是一种非比较排序,它的时间复杂度是O(N*digit),其中digit是这组待排序中的最大的数的数量级,它的空间复杂度是O(N)。它是一种稳定的排序方法。
实现:
对于桶,我们最直观的想法就是用容器作为桶,将每一个桶的元素都放到一个容器中,这样虽然也能做,但是还是实现起来不是那么容易。我们可以参考稀疏矩阵的转置。例如对个位数的排序,我们开辟一个10元素大小的数组,将这10个大小的数组假想成10个桶,统计出每个桶中第一个元素在原数组中的起始位置。我们在建立一个与要排序的序列一样大辅助数组,然后根据每个桶中的起始位置将每个桶中的元素依次放到辅助数组中,之后再把辅助数组中的元素拷贝回原数组,这样一次排序就完成了。之后再按照同样的方法,再对高位进行排序。
代码实现:
阅读全文
0 0
- 【排序】基数排序
- 【排序】基数排序
- 【排序】基数排序
- 排序 基数排序
- 排序算法-基数排序_基数排序
- 数据结构 排序 基数排序
- 排序——基数排序
- 稳定排序之基数排序
- 计数排序,基数排序
- 计数排序和基数排序
- 排序算法之基数排序
- 线性排序之基数排序
- 排序算法 - 基数排序(C++)
- 【排序算法】基数排序(RadixSort)
- 排序算法-基数排序
- 基数排序、桶排序
- 计数排序-基数排序
- 排序系列之基数排序
- C
- 杭电acm 4824Disk Schedule
- maven-shade-plugin 入门指南
- dvp和mipi接口
- solr删除全部索引数据
- 排序 基数排序
- FFMPEG —— 视频播放器 :(一)环境配置
- kernel or user oops信息定位步骤
- Android_自定义Toast、子线程修改UI
- centos系统下nodejs项目通过nginx做代理
- 1.3组件之间传值
- svn之bash: syntax error near unexpected token `(' 解决办法
- POJ 3321-Apple Tree(DFS序+树状数组)
- nodejs 注入 inject