對於主定理T(n) = a*T(n/b) + f(n)
我使用三種情況:碩士和f(n)的定理=日誌N
- 如果
a*f(n/b) = c*f(n)
對於某一常數c > 1
然後T(n) = (n^log(b) a)
- 如果
a*f(n/b) = f(n)
然後T(n) = (f(n) log(b) n)
- 如果
a*f(n/b) = c*f(n)
爲一些常數c < 1
然後T(n) = (f(n))
但是,當f(n) = log n
或n*log n
,c
的值取決於n的值。如何使用主定理解決遞歸函數?
因此,對於f(n)= log n和a!= b的情況,它不適合第二種情況,因爲c和k必須是1,但它會給出函數n *日誌那麼我該如何檢查這個功能適合哪裏?對不起,有很多問題。 –
請注意,對於任何常數c,log n都不是Theta(n^c)。這裏唯一可行的情況是中間情況,如果你有a = b,這可能會起作用。如果!= b,那麼你不能直接應用主定理來解決復發問題,並且必須找到一種替代方法。 – templatetypedef
這正是我想聽到的!非常感謝! –