簡體   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