桶排序时间复杂度:O(N+C),其中C=N*(logN-logM)。桶排序是一个排序算法,工作的原理是将数组分到有限数量的桶子里,每个桶子再使用别的排序算法或以递归方式继续使用桶排序进行排序。
桶排序的平均时间复杂度为线性的O(N+C),其中C=N*(logN-logM)。如果相对于同样的N,桶数量M越大,其效率越高,最好的时间复杂度达到O(N)。当然桶排序的空间复杂度为O(N+M),如果输入数据非常庞大,而桶的数量也非常多,则空间代价无疑是昂贵的。此外,桶排序是稳定的。
桶排序的方法
桶排序算法要求,数据的长度必须完全一样,程序过程要产生长度相同的数据,其方法为:Data=rand()/10000+10000。
每次进行下一次的扫描顺序是按照上次扫描的结果来的,所以设计上提供相同的两个桶数据结构。前一个保存每一次扫描的结果供下次调用,另外一个临时拷贝前一次扫描的结果提供给前一个调用。
在桶排序算法的代码中,假设输入是含n个元素的数组A,且每个元素满足0≤A[i]<1。另外还需要一个辅助数组B[O..n-1]来存放链表实现的桶,并假设可以用某种机制来维护这些表。
全球媒体聚焦︱“中国机器人百米成绩实现对人类纪录的超越”
美国拟扩大长期国债回购规模 分析人士警示有多重风险
19国青年学员走进“雪山下的公园城市”——“Z世代”国际生态环境小记者工作坊(第二期)在成都开营
【中国网评】日本低配版“印太战略”:能力撑不起的军事野心
麦当劳员工被曝用餐盘压垃圾 麦当劳:不符合规范,按公司规定后续处置
“碳”路先行看山西!第二十一届全国网络媒体山西行启动
独家V观丨你好 吉尔吉斯斯坦
今夏全国天气有何特点?降水偏多,台风高温齐“发力”
海国志丨秘书爱孩子,特朗普吃醋?与蟑螂交朋友,高市早苗遭群嘲……回顾不能错过的8月离谱国际新闻
国常会审议通过《审计法实施条例(修订草案)》 强化审计监督、护航高质量发展