Bucket排序的运行时间

时间:2015-11-18 11:59:12

标签: algorithm sorting quicksort bucket bucket-sort

如果我们假设元素在给定范围k内均匀分布,并且我们有10个桶。然后,在对列表中的n个元素进行一次迭代之后,每个桶中的元素量将是相同的。然后例如我们使用quicksort对每个桶进行排序,但我们知道每个桶中的元素数量是不变的,所以总运行时间不是Θ(n)吗?

1 个答案:

答案 0 :(得分:1)

没有

将10个桶中的元素设为O(N)。

使用qsort对一个桶进行排序是O(NlogN)(实际上是N / 10但是常量并不重要)。

所以整体复杂性将是O(N + 10 * N logN),即O(NlogN)(因为N

如果这太难理解,请尝试这种方式:如果有2个桶而不是10个桶,那么你就是为整个列表做了精确的Qsort。