本文共 320 字,大约阅读时间需要 1 分钟。
将要排序的数据分配到有序的桶里,然后每个桶内进行单独排序,最终每个桶中的数据按照顺序读出来就行了
假设要排序的数据有n个,然后分为m个桶,每个桶里有k=n/m个元素。每个桶内部使用快速排序,时间复杂度O(klogk)。m个桶排序的时间复杂度是O(mklogk),因为k=n/m,所以n/m m*logk,即nlog(n/m),当桶的个数接近于n时,桶排序的时间复杂度 接近O(n)
比如:10GB的订单按订单金额排序
桶排序比较适合用在外部排序中,所谓外部排序就是数据存储在外部磁盘中,数据量比较大,内存有限,无法将数据加载到内存中转载地址:http://clbjn.baihongyu.com/