我正在研究Big-Oh,但是我坚持了证明部分。
问题是要证明
n * log n在O(n)中。
鉴于有一个公式可以检查它是否在大哦 我尝试过
F(n)<= c * g(n)
n * log n <= 1 * n
然后我得到log(n)<= 1,其中n> n0。因此,如果我用100代替n,结果将大于1。
(我检查了函数在O(n)中的答案)
答案 0 :(得分:2)
您可以很容易地在O(nlogn)
中证明它不是不是。
假设该声明是真实的,那么definition of big O:
有常数N,c使得对于所有n> N> 0:nlogn <= c * n
nlogn <= c*n since n > 0
logn <= c
n <= 2^c
但是对于n = max {2^c+1, N+1}
-以上内容不成立。因此,最初的假设是错误的,并且没有这样的常数。
如果没有这样的常量,根据大O表示法的定义,nlogn
不在O(n)
答案 1 :(得分:0)
您不能证明n * log n为O(n),因为不是。
证明中至少有一个缺陷是n * log n <= 1 * n不正确。