从这个算法中,我们可以看到,为了获得算法的线性运行时间,常数必须大于 4。但是,我想知道如果我划分为 n/8 个子列表并选择第 4 个最大的数会发生什么每个子列表作为中位数。
我希望运行时间是线性的,因为 8 > 4 但是当我计算运行时间时,我发现 O(nlogn)。 计算大小为 8 的子列表
有人可以告诉我我做错了什么,并向我解释为什么子列表的大小应该总是奇数吗?
从这个算法中,我们可以看到,为了获得算法的线性运行时间,常数必须大于 4。但是,我想知道如果我划分为 n/8 个子列表并选择第 4 个最大的数会发生什么每个子列表作为中位数。
我希望运行时间是线性的,因为 8 > 4 但是当我计算运行时间时,我发现 O(nlogn)。 计算大小为 8 的子列表
有人可以告诉我我做错了什么,并向我解释为什么子列表的大小应该总是奇数吗?