我正在尝试确定f(n)=n^(logb(n))
是否在Theta(n^k)
中,因此会增长多项式或Theta(k^n)
,因此会呈指数增长。
首先我尝试简化功能:
f(n) = n^(logb(n)) = n^(log(n)/log(b)) = n^((1/log(b))*log(n))
因为1/log(b)
不变,我们得到f(n)=n^log(n)
。
但现在我被卡住了。我的猜测是f(n)
在Theta(n^log(n))
中呈指数增长,甚至呈超指数增长,因为指数log(n)
也在增长。
答案 0 :(得分:2)
您可以将n^(log(n))
写为(k^(logk(n)))^(log(n)) = k^(K*(log(n)^2)).
,因为(log(n))^2 < n
n足够大,这意味着n^(log(n))
的增长速度会慢于k ^ n
答案 1 :(得分:1)
尝试用n
替换b^m
,这会产生logb(n) = m
。这应该让你知道去哪里。
答案 2 :(得分:1)
它似乎不是 theta(指数)或 theta(多项式);上面的海报显示了为什么它不是指数级的。它不是多项式的原因可以用反例来简单证明。
证明n ^ logn不是O(n ^ k):