1
递推方程我必须找到从该算法递推方程:查找算法
ALGO(n)
if n <= 2 then return(0)
else
y = ALGO(n/3)
i = 2^n
while i >= 2 do
j = (1/2) * log(i) //base 2
while j > 0 do
i = i/2
j = j - 1
z = ALGO(n/2)
return(z+y)
我推断关于它并得出结论认为 T(N)= O(1)如果n < = 2
我认为inner while是一个O(n)(j在每次迭代时减少1),而外部while是O(logn)(每次迭代时i减半),给出一个O(n * (n)):
如果n> 2,则T(n)= T(n/3)+ T(n/2)+ O(n * log(n))
这是一个很好的说法吗?
谢谢:现在这个过程更清晰了! – JustB
@JustB不客气,我应该感谢你,因为解决问题是一个很棒的经历,我很高兴我的帮助:) –