大哦符号O((log n)^ k)= O(log n)?

时间:2012-01-10 19:23:25

标签: big-o proof

在big-O表示法是O((log n)^k) = O(log n),其中k是一些常数(例如循环的对数数),是吗?

我的教授告诉我,这种说法是正确的,但是他说这将在课程后期证明。我想知道你们中是否有人能证明其有效性,或者有一个链接我可以确认是否属实。

3 个答案:

答案 0 :(得分:7)

(1)确实O(log(n ^ k))= O(log n)。

(2)O(log ^ k(n))(也写成O((log n)^ k))= O(log n)是错误的。

观察:(1)已被nmjohn证实。

练习:证明(2)。 (提示:f(n)= log ^ 2 n是O(log ^ 2 n)。是O(log n)吗?什么是足够大的常数c,使得对于大于n0的所有n,c log n> log ^ 2 n?

编辑:

在相关的说明中,任何发现此问题有用和/或有趣的人都应该对新的“计算机科学”StackExchange网站表现出一些喜爱。这是一个链接。去把这个新地方变为现实!

http://area51.stackexchange.com/proposals/35636/computer-science-non-programming?referrer=rpnXA1_2BNYzXN85c5ibxQ2

答案 1 :(得分:5)

你确定他不是指O(log n ^ k),因为它等于O(k * log n)= k * O(log n)= O(log n)。

答案 2 :(得分:-1)

O(log n )是一类函数。您无法在其上执行^ k 等计算。因此,术语O(log n )^ k 对我来说甚至看起来都不合理。