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)
谢谢!我以前听说过主定理,但完全忘记了!我去看看!