证明QuickSort的最坏情况运行时间

时间:2012-02-24 04:36:01

标签: recursion analysis equation recurrence

我正在尝试对以下递归函数执行渐近分析,以便为数字提供有效的方法。由于在功率为奇数和功率为偶数时具有不同的等式,我无法确定递推方程。我不确定如何处理这种情况。我知道运行时间是theta(logn)所以任何有关如何进行此结果的建议都将受到赞赏。

Recursive-Power(x, n):
if n == 1
   return x
if n is even
   y = Recursive-Power(x, n/2)
   return y*y
else
   y = Recursive-Power(x, (n-1)/2)
   return y*y*x

1 个答案:

答案 0 :(得分:3)

无论如何,以下条件成立:

T(n) = T(floor(n/2)) + Θ(1)

其中floor(n)是不大于n的最大整数。

由于floor对结果没有影响,因此该等式非正式地写为:

T(n) = T(n/2) + Θ(1)

你已经猜到了正确的渐近束缚。结果可以用替换法或主定理证明。它留给你锻炼。