这里我们有一个算法
T(n) = n-1 + T(i-1) + T(n-i)
T(1) = 1
如何计算它的时间复杂度? 我介于1和n之间
答案 0 :(得分:1)
我可以将其识别为快速排序算法(随机快速排序)。 我确信这个问题不知何故错过了求和部分。
好!你可以在这里使用替换方法..检查O(n^2)
。你会发现O(n^2)
是最糟糕的时间复杂性。
平均情况有点棘手。然后,枢轴可以是从1到n的任何元素。然后分析它。您也可以在此处使用T(n)=O(nlogn)
替代素。
答案 1 :(得分:0)
我认为我们应该像这样解决它
如果i = 2那么我们有
T(n) = n + T(n-2) = Theta(n^2)
如果i = n / 2那么我们有
T(n) = n-1 + T(n/2 -1) + T(n/2) = Theta(n.logn)
然后我们有上限O(n ^ 2),算法按O(n ^ 2)的顺序