既然分成了n/k组,每个组之间又不需要排,如果排序每个组的时间下界是f(k),那么总的时间下界就是n/k* f(k)
所以其实问题就是排序包含k个数的数组的时间下界是什么,不清楚这个怎么定义的,要我说排序k个数的时间下界就是O(k),当它们正好是有序的,只要比较k-1次就可以确认这一点.但是按题目意思应该说的是,最有效的算法的时间开销,那么就是 O(klogk)
所以总的时间下界就是 O(n/k * k logk) = O(nlog k)
既然分成了n/k组,每个组之间又不需要排,如果排序每个组的时间下界是f(k),那么总的时间下界就是n/k* f(k)
所以其实问题就是排序包含k个数的数组的时间下界是什么,不清楚这个怎么定义的,要我说排序k个数的时间下界就是O(k),当它们正好是有序的,只要比较k-1次就可以确认这一点.但是按题目意思应该说的是,最有效的算法的时间开销,那么就是 O(klogk)
所以总的时间下界就是 O(n/k * k logk) = O(nlog k)