如果我们假设元素在给定范围k内均匀分布,并且我们有10个桶。然后,在对列表中的n个元素进行一次迭代之后,每个桶中的元素量将是相同的。然后例如我们使用quicksort对每个桶进行排序,但我们知道每个桶中的元素数量是不变的,所以总运行时间不是Θ(n)吗?
答案 0 :(得分:1)
没有
将10个桶中的元素设为O(N)。
使用qsort对一个桶进行排序是O(NlogN)(实际上是N / 10但是常量并不重要)。
所以整体复杂性将是O(N + 10 * N logN),即O(NlogN)(因为N 如果这太难理解,请尝试这种方式:如果有2个桶而不是10个桶,那么你就是为整个列表做了精确的Qsort。