【数据结构与算法】——基数排序
来源:互联网 发布:java软件工程师月薪 编辑:程序博客网 时间:2024/05/29 13:30
基数排序
基本思想:它是一种非比较排序。它是根据位的高低进行排序的,也就是先按个位排序,然后依据十位排序……以此类推。
时间复杂度:
分配需要O(n),收集为O(r),其中r为分配后链表的个数,以r=10为例,则有0~9这样10个链表来将原来的序列分类。而d,也就是位数(如最大的数是1234,位数是4,则d=4),即"分配-收集"的趟数。因此时间复杂度为O(d*(n+r))。
空间复杂度:
O(rd)
稳定性:
基数排序是按照低位先排序,然后收集;再按照高位排序,然后再收集;依次类推,直到最高位。有时候有些属性是有优先级顺序的,先按低优先级排序,再按高优先级排序,最后的次序就是高优先级高的在前,高优先级相同的低优先级高的在前。基数排序基于分别排序,分别收集,所以其是稳定的排序算法。
0 0
- 【数据结构与算法】——基数排序
- 【数据结构与算法】——基数排序
- [数据结构与算法]基数排序
- 【数据结构与算法】基数排序
- 数据结构与算法系列----基数排序
- 数据结构——基数排序
- 数据结构与算法——线性时间排序(计数排序、基数排序、桶排序)
- C源码@数据结构与算法->基数排序
- java数据结构与算法-高级排序-基数排序
- 数据结构-算法: 基数排序
- [数据结构] 基数排序算法
- 数据结构——链式基数排序
- 数据结构例程——基数排序
- 算法与数据结构-常用排序算法总结2-基数排序
- 数据结构与算法(C语言版)__基数排序
- 【继续思考】排序算法——基数排序与桶排序
- 排序算法——基数排序
- 排序算法——基数排序
- 算法时间复杂度
- HTML select处理文字超出宽度自动换行的问题
- 分享:Android清除本地数据缓存代码
- ApplicationContext和BeanFactory的不同之处
- Xcode 7 添加新设备
- 【数据结构与算法】——基数排序
- Maven管理java工程
- iOS与JS交互实战篇(Swift/ObjC)
- SQL截取字符串
- 类超市管理系统后台第一次bug修改
- 自己用jQuery写一个瀑布流
- 搭建Maven开发环境
- sql 多行转多列,多行转一列合并数据,列转行
- MySQL EXPLAIN 实践汇总