使用给定的:T(1) = 1
您如何计算T(n) = T(n/4) + 1
的封闭形式?
我回答这个问题的方式是:
T(n) = T(n/4) + 1
T(n) = T(n/8) + 1 + 1
T(n) = T(n/16) + 1 + 1 + 1
等等。这是解决这个等式的正确方法吗?我错过了一些重要的关键步骤吗?
答案 0 :(得分:1)
我们有T(n)= T(n / 4)+1
现在找到T(n / 4),即T(n / 4)= T(n /(4 ^ 2))+ 1
因此第二项将是T(n)= T(n /(4 ^ 2))+ 2
类似地,第k项将是T(n)= T(n /(4 ^ k))+ k
现在将n = 4 ^ k置于上式的RHS中,因此我们得到T(n)= T(1)+ k
=> T(n)= 1 + k
但是n = 4 ^ k
=> k = log n,其中log的基数为4
因此T(n)=(1 + log n); log的基数是4。
答案 1 :(得分:0)
在这种情况下,我认为从另一个方向开始更容易:从T(1)
向上。我们有:
T(1) = 1
T(4) = T(4/4) + 1 = T(1) + 1 = 2
T(16) = T(16/4) + 1 = T(4) + 1 = 3
T(64) = T(64/4) + 1 = T(16) + 1 = 4
...
=> T(4^k) = k + 1
你能弄清楚4
不具备权力的论据的答案是什么吗?我认为除法是整数除法。