簡體   English   中英

主定理 f(n) = cn^k

[英]Master theorem where f(n) = cn^k

我想知道當 f(n) = xn k和 n^(log b a) = n k時出現的主定理的特定情況,其中 x 是大於 1 的 integer。對於這種情況,f(n) 是大於 n^(log b a) 但它不是多項式大於它,因此不會出現情況 3。

對於這樣的案例,我假設您使用案例 2,因為它們的大 O 是相同的,但這似乎不符合我能找到的等式。 似乎我在將 f(n) 直接從原始遞歸關系中取出而不是大 O 時犯了一個錯誤,因為這對我來說似乎很有意義,但我找不到任何關於這個或任何例子的澄清其中方程中 f(n) 的空間還不是它自己的大 O。

編輯:當我說“我能找到的方程”時,我的意思是假設不符合主定理,因為我可以解決它。 因為我有它,我正在談論的案例 2 的主定理看起來像f(n) = Θ(n^(log b a)) 我認為重要的一點是,是否從以 + xn k結尾的等式中提取 f(n) = xn k或 f(n) = n k 為糟糕的措辭道歉。

我認為真正重要的是,我是否從以 + xnk 結尾的等式中提取 f(n) = xnk 或 f(n) = nk。

通常你應該采取 f(n) = x * n k 因為主定理將 T(n) 定義為 aT(n/b) + f(n)的形式。 但在你的例子中,這並不重要。

如果 x 是一個正常數,f(n) 和 x * f(n) 的增長是相同的。 在 f(n) = xn k的情況下,它們都是 Θ(n k )。 (或者你可以說它們都是 Θ(x * n k )。這與 Θ(n k ) 的集合相同。)

由於 f(n) = Θ(n log b a ),這里應該使用主定理的情況 2。 在這種情況下,定理說 T(n) = Θ(n log b a * lgn)。

同樣,如果你寫Θ(n log b a * lgn)Θ(5 * n log b a * lgn)Θ(x * n log b a * lgn)在這里也沒關系。 將 function 與正常數相乘不會改變其漸近界。 主定理只給你 function 的漸近界限,而不是它的確切值。

暫無
暫無

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

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