Algorithm 生长顺序测定

Algorithm 生长顺序测定,algorithm,Algorithm,我正在练习增长顺序,但在确定以下函数的增长顺序时遇到困难: def ri(na): if na <= 1: return na def han(na): i = 1 while i < na: i *= 2 return i return ri(na/2) + ri(na/2) + han(na-2) def ri(na): 如果na则han函数的时间复杂度为T

我正在练习增长顺序,但在确定以下函数的增长顺序时遇到困难:

def ri(na):
    if na <= 1:
         return na
    def han(na):
         i = 1
         while i < na:
             i *= 2
         return i
    return ri(na/2) + ri(na/2) + han(na-2)
def ri(na):

如果na则
han
函数的时间复杂度为
Theta(log(n))
(每次
i
乘以
2
)。因此,
ri
的时间复杂度是
T(n)=2T(n/2)+θ(log(n))
。使用我们可以说
T(n)=θ(n)

谢谢!我以前听说过主定理,但完全忘记了!我去看看!