繁体   English   中英

通过“ T(n-1)”形式的递归树求解递归关系

[英]Solving Recurrence Relation via Recursion Trees of the Form “T(n-1)”

我知道主定理和递归树可用于“分而治之”递归关系(即T(n)= T(n / 2)+1 )。

但是,如何将这些概念应用于T(n)= T(n-1)+ logn?

据我了解,您不能将这两个概念应用于(n-1)个减量。 但是作业和教授要求使用递归树和主定理求解T(n)= T(n-1)+ logn。

此外,是否有任何理由说明以下内容不是上述功能的递归扩展?

T(n)=T(n-3)+log(n-2)+log(n-1)+log(n)

根据我的教授,它不应该是log(n-2)和log(n-1),而应该是

T(n)=T(n-3)+logn+logn+logn

这对我来说绝对没有意义。

以下是主定理的减法形式:

如果T(n)= aT(nc)+ g(n)其中c> = 1且g(n)= Theta(n ^ k)且k> = 0,则

  • 如果a <1,则T(n)= Theta(n ^ k)
  • 如果a = 1,则T(n)= Theta(n ^ {k + 1})
  • 如果a> 1,则T(n)= Theta(a ^ {n / c})

它不包括您要求的特殊情况,而是陈述了减量的一般结果。

两件事情,

  1. 递归定义指出,再次调用T(n)时必须将n替换为n-1 ,因此对于T(n)=T(n-3)+log(n-2)+log(n-1)+log(n)

  2. 您可以轻松地得出log(1) + log(2) + log(3) + ... log(n) = log(n!) = Theta(nlogn)以及log(n) + log(n) + log(n) ... + log(n) = nlog(n) = Theta(nlog(n))

http://en.wikipedia.org/wiki/Factorial#Rate_of_growth_and_approximations_for_large_n

http://en.wikipedia.org/wiki/斯特林%27s_approximation

要把它看成一棵树,实际上只是一棵最坏情况下的树,即

在此处输入图片说明

这是因为在每个调用中,只有一个子问题需要解决。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM