问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

线性排序

发布网友 发布时间:2023-03-12 12:03

我来回答

1个回答

热心网友 时间:2023-10-18 00:27

时间复杂度为线性( O(n) )的排序方式叫做线性排序。常见的线性排序有桶排序、计数排序、基数排序。

(1)就是将数据放入已经排好序的桶中,然后对桶中的数据分别进行排序,最后按照桶的顺序将数据拿出来,就是排完序的样子。
例如:需要对100万个用户按照年龄进行排序,可以将0-9岁的放到1号桶,10-19岁的放到2号桶,20-29岁的放到3号桶。。。。100-119岁。。。然后在将各个桶里面的数据利用其它排序方法(例如快排)排好序,最后按照桶的大小顺序将元素取出来。
(2)

(3)时间复杂度分析:
如果要排序的数据有 n 个,我们把它们均匀地划分到 m 个桶内,每个桶里就有 k=n/m 个元素。每个桶内部使用快速排序,时间复杂度为 O(k * logk)。m 个桶排序的时间复杂度就是 O(m * k * logk),因为 k=n/m,所以整个桶排序的时间复杂度就是 O(n*log(n/m))。当桶的个数 m 接近数据个数 n 时,log(n/m) 就是一个非常小的常量,这个时候桶排序的时间复杂度接近 O(n)。

(4)桶排序的弊端:
要保证桶排序法的时间复杂度为线性的,需要让各个桶内的元素数量均匀,如果出现极端情况,比如所有的元素都几种到了同一个桶里面,那么桶排序的时间复杂度就会退化为O(nlogn)。由此看来,桶排序的应用场景非常有限。

(1)计数排序法是一种特殊的桶排序法,它是将数据范围缩到最小。
例如:同样是将100万个人按照年龄排序,可以将0岁放入1号桶,2岁放入2号桶。。。。。

(2)那么“计数”体现在什么地方?
同样是上面的例子,我们将数据规模缩小来说明这个事。
假如有8位小朋友,年龄分别是: 2,5,3,0,2,3,0,3
创建一个数据来存储各个年龄的人数:

事实上现在除了知道每个年龄的人数之外,还知道了在它前面有多少人。比如:3岁的有3人,前面有4人。

(3)应用中,为了把这个事办的更省心一些,会直接在每一个年龄的上面标一个数字,这个数字表示该年龄前面所有年龄人数之和加上该年龄的人数。例如:上面的例子

排序的时候,遍历到第一个3的时候,将它放到索引为6的位置,然后将它上面的数字减一,第二次遇到3时,将它放到第5的位置,上的数字再减一,所有的年龄都是同样的操作。

(4)

待续。。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
人大政协辅助岗是什么 政务辅助人员是干什么 政府辅助人员是什么 努比亚的海拔什么意思 北非努比亚现在怎么样了啊 相邻权的相关法律 梦见老公离世了什么预兆 梦见自己老公走掉 你出轨后 怎么操作才没被发现? 评评怎么造句 桶式排序 qt 怎么检索一个excel文件 在酒店床单上面弄血了,会不会赔 给QQ充SVIP,但要邀人的是真的还是假的? 现在QQ上经常有群要求群成员拉人进群,然后说送免费的超级会员,又是全员禁言,这些群是什么企图? 现在QQ上经常有群要求群成员拉人进群,然后说送超级会员,又是全员禁言,这些群是什么企图? 江南春·波渺渺赏析 想吧手机电话清单复制到U盘上,怎么做呀?点右键复制不上 怎样把三星电话内存导入电脑u盘 怎样把手机上(话机)储存的电话号码复制到U盘上? 公园里浇花喷嘴的水是自来水吗 Excel 如何解密 打开时提示Excel无法访问,该文档可能为只读或者加密文件 我一直都没有加密的 透明桌垫渗入颜色怎么去除 透明桌垫凹凸不平怎么处理 奠雁的汉典注释 我请问一下,有谁认识这个字(貟 贠)这两个字是一个字吗?谢谢有学问的好心人,读音是什么? 朋友圈里的点赞和评论都是怎么回事? 抖音显示我扫描别人的二维码进群是怎么回事 抖音发拼车群二维码对方可以加群吗 _聋意思是什么 视我者盲,听我者聋,敢有图谋我者反受其秧,我吉而彼凶,疾,”什么意思 祁门红茶如何长期保存 《心悦俱乐部》绑定QQ号方法 微信心悦会员和qq通的吗 爱标客一月能赚多少钱 华为mate8微信隐藏了在哪能找到 vivo手机卸载软件需要的密码是什么 坐深蹲能不能瘦肚子 深蹲什么时候做效果好 癌痛难忍想要积极止痛,应该如何治疗? 请问我的QQ被盗了,我想把以前到过我空间去踩过的人全部找到啊!谢谢!急 问:我的苹果6刚才更新系统,字体突然变小变细了,我设置了,只有QQ字体变大了点,其他的都没变啊,还 行动学习是什么,为何能够“无招胜有招”? 如何判断翡翠石纹和裂 怎么判断翡翠石纹和裂 翡翠细裂和石纹怎么区分如何区别翡翠细裂和石纹 白边填充液进入手机屏幕里面怎么办 超市电脑处于离线能收款吗 为什么微信登录电脑手机聊天电脑有的看得见有的看不见 赞美父亲的句子简短(精选49句) 小米通话记录字体都成绿色了 哪些方法能改善心脏状况? 什么是正常的心理状况