如何计算时间复杂性



任何人都可以帮助解释为什么这个函数

F(n(=F(n/3(+1,其中F(0(=0

可以具有O(Logn(的时间复杂度,对数基数为3。

有没有数学符号或任何东西可以帮助我解释如何得到结果。感谢

通过替换,可以简单地完成:

F(n) = F(n/3) + 1 = F(n/3^2) + 1 + 1 = 1 + 1 + ... + 1 (log_3(n) times)

由于每次n除以3,并且1被添加到结果中,如果我们假设n = 3^kF(n) = k。因此,F(n) = O(log(n))。对数底的常数(>1(对复杂度的顺序没有任何影响,即log_a(n) = Theta(log_b(n))(a,b > 1(。

最新更新