【发布时间】:2015-04-20 16:11:47
【问题描述】:
我们使用常规的快速排序算法。选择的枢轴是中位数,但为了找到中位数,它需要Theta(n^{2006/2005}) 最坏情况。
为什么算法的最坏情况等于Theta(n^{2006/2005})而不是Theta(n^{2006/2005} * logn)?
【问题讨论】:
-
您对 quicklsort 复杂性的说法从何而来?这个中值算法是什么?它还对数组进行部分排序吗?
-
基于比较的排序算法不可能具有复杂性
Theta(n^{2006/2005}),因此其中可能存在log n因素。 -
@IVlad
n^(1+epsilon) > nlogn对于epsilon > 0的每个值和足够大的n,如果这就是您所指的。 -
好的,这是可能的。现在真的很好奇那个算法。
-
@IVlad 一个简单的算法,假设中位数也将数组部分排序到中位数,在这种复杂性中很容易实现,因为您不需要在数组的第一部分调用。我认为这取决于提供的更多细节。
标签: arrays algorithm sorting big-o time-complexity