$ t(n):=begin {is} \ frac {2+ \ log n} {1+ \ text {log} n} t(\ lfloor \ frac {n} {2} \ rfloor)+ \ log((n!)^ {\ log n})&\ text {if} n> 1 \\ 1&\ text {if} n= 1 \结束{案例} $

我需要证明 $ t(n)\ in o(n²)$ ,因此 $ t(n )\ leq c \ cdotn²$

我问了这个问题这里我上次得到了很大的帮助,事情是我上次显示的时候是 $ f(n)= log(n)\ cdot \ log(n!)$ $ \ theta(2 \ cdot \ log(n)\ cdot n)=theta(\ log(n)\ cdot n)$ 我以为我可以然后使用主定理

但是,由于 $ a=frac {2+ \ log n} {1+ \ log n} $ 不是一个常量,我不能使用主定理 但我认为我可以使用 $ a $ 的上限,因为 $ \ frac {2+ \ log n} {1+ \ log n} <2 \ quad \ forall n $ ,然后使用master theorem for $ a= 2 $ $ b= 2 $ 。但是我允许在找到非常量<跨度类=“math-container”> $ a $ 的上限后使用主定理

其他方式是显示 $ t(n)= o(n ^ 2)$

有帮助吗?

解决方案

是,您可以定义 $ t'(n)= 2 t'(\ frac {n} {2})+ \ theta(n \ log n)$ ,请注意 $ t(n)\ le t'(n)$ ,并在 $上使用master theoremt'$ 获取 $ o(n \ log ^ 2 n)$ to $t $

自for $ n \ ge 2 $ $ \ frac {2+ \ log n} {1+log n} \ lex \ frac {3} {2} $ 通过比较 $ t $ 来获得更好的上限 $$ t'=begin {is} \ frac {3} {2} t''(\ frac {n} {2})+ \ theta(n \ log n)&\ text {if $ n \ ge2 $} \\ \ theta(1)&\ text {否则} \ end {iscus}。$$ $ t''$ $ o(n \ log n)$ for $ t $

其他提示

是的,您可以在上限上使用Master定理。

正式,只需将s(n)定义为具有上限的函数(对本身的递归调用)并使用s(n)上的主机定理。你知道s(n)是t(n)的绑定(如果你真的想要,你可以在归纳中证明这一点),因此如果你设法显示s(n)= o(n 2 )然后还t(n)= o(n 2

亲自,我从来没有解释过为什么它也可以在上限上使用主人的定理,我从未见过任何人试图在尝试之前实际解释(因为你从解释中看到的那样,原因非常简单)

我希望我设法帮助:p

许可以下: CC-BY-SA归因
不隶属于 cs.stackexchange
scroll top