Recursion 快速排序最坏运行时间的证明

Recursion 快速排序最坏运行时间的证明,recursion,analysis,equation,recurrence,Recursion,Analysis,Equation,Recurrence,我试图对下面的递归函数进行渐近分析,寻找一种有效的方法来对一个数进行幂运算。我很难确定递推方程,因为当幂为奇数和偶数时有不同的方程。我不知道如何处理这种情况。我知道,运行时间是θ(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

我试图对下面的递归函数进行渐近分析,寻找一种有效的方法来对一个数进行幂运算。我很难确定递推方程,因为当幂为奇数和偶数时有不同的方程。我不知道如何处理这种情况。我知道,运行时间是θ(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

在任何情况下,以下条件成立:

T(n) = T(floor(n/2)) + Θ(1)
其中
floor(n)
是不大于
n
的最大整数

由于
floor
对结果没有影响,方程式非正式地写为:

T(n) = T(n/2) + Θ(1)
你猜对了渐近界。结果可以用代换法或主定理来证明。这是留给你的练习