簡體   English   中英

如果f(n)包含log(n)的某一項,是否可以通過主方法解決?

[英]If f(n) contains some term of log(n), is it possible to solve this by the Master Method?

主方法是獲得解決方案的直接方法。 主方法僅適用於以下重復類型或可轉換為以下類型的重復。

T(n)= a T(n / b)+ f(n),其中a≥1,b> 1,而f(n)=Θ(n c )。

有以下三種情況:

  1. 如果c <log b (a),則T(n)=Θ(n log b (a) )。

  2. 如果c = log b (a),則T(n)=Θ(n c log(n))。

  3. 如果c> log b (a),則T(n)=Θ(f(n))。

在主方法中,如果f(n)包含log(n)的某個項,是否可以通過主方法解決呢? 例如,在T(n)= 4T(n / 2)+ n ^ 2logn中,此處是否適用大師定理

真的不可能直接告訴您Master方法是否對某些對數函數有效。 這將取決於您要解決的特定復發情況。 這完全取決於f與n log b a相比如何增長。

在JPC給出的示例中(其中T(n)= 4T(n / 2)+ log(n)),確實是可能的。 但是,還要考慮示例T(n)= 2T(n / 5)+ log(n)。 在這種重復情況下,很難確定n log 5 2是否比log(n)增長得更快。 如果對數函數f(n)變得更復雜(例如log 3 (n / 2)),它將變得更加困難。

簡而言之,當指數小於1時(對於指數> = 1,log(n)總是更快),與對數函數相比,可能難以確定對數函數如何增長。 如果它似乎不適合您,則您必須使用其他技術來解決重復性問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM