Algorithm 时间复杂性和大O符号特定问题

Algorithm 时间复杂性和大O符号特定问题,algorithm,big-o,time-complexity,Algorithm,Big O,Time Complexity,我过去考试中的一个问题是多项选择题: Choose the FALSE statement: 7(log n) + 5n + n(log log n) + 3n(ln n) is A. O(n^2) B. Ω(n^2) C. O(n log^2 n) D. Ω(n) E. Θ(n log n) 首先我得出结论,算法的运行时间必须是Θ(n logn),这排除了选项E。然后我得出结论,选项B,Ω(n^2),ws false,因为我知道Θ(n logn)小于Θ(n^2),因此Ω(n^2)不可能为真

我过去考试中的一个问题是多项选择题:

Choose the FALSE statement: 7(log n) + 5n + n(log log n) + 3n(ln n) is

A. O(n^2)
B. Ω(n^2)
C. O(n log^2 n)
D. Ω(n)
E. Θ(n log n)
首先我得出结论,算法的运行时间必须是Θ(n logn),这排除了选项E。然后我得出结论,选项B,Ω(n^2),ws false,因为我知道Θ(n logn)小于Θ(n^2),因此Ω(n^2)不可能为真。所以我想答案是B

但我也意识到C也不可能是真的,因为Θ(n log n)比Θ(n log^2 n)的运行时间要长。但不可能有两个答案是正确的


那么哪一个是正确的:是B吗?还是C?或者两者都没有?我很困惑错误的陈述是ω(n^2)。
它正是θ(nlogn)(因为3n(ln))是“最高的”,它是θ(nlogn)。
omega(n^2)
说它并不比n^2复杂度好,这在这里是错误的


添加:在您的示例中,以下是正确的:
7(对数n)<5n7logn=θ(logn),5n=θ(n),n(loglogn)=θ(nloglog(n)),3nln(n)=θ(nlogn)
如前所述,(nlogn)是最高的,因此:
7(对数n)+5n+n(对数n)+3n(对数n)=θ(nlogn)

所有的都是o(n^2)(这里故意是小o),所以ω(n^2)是错误的陈述

编辑:澄清并添加我在评论中所写的内容:
选项C是正确的,因为O(nlogn)
nlog^2(n)=n*log(n)*log(n)>n*log(n)
每n>2次。
示例:对于n=1000000:
nlogn=1000000*20=20000000


当假定log是以2为底的对数,ln是自然对数时,下面的陈述是正确的:


Θ(log(n))但它不是吗Θ(n log n)比Θ(n log^2 n)的运行时间要长吗?不,O(nlogn)log(n)对于每n>2个,谢谢你的评论彻底澄清了它。我要记住n(log^2n)!=n(logn)。非常感谢!:)但是方案C呢?选项C也是假的,不是吗?不,选项C是真的,因为O(nlog^2(n))>O(nlogn)例如:n=1000000,nlogn=1000000*20=20000000,而nlog^2(n)是1000000*20*20=400000000。注意,大O意味着解“不值得”,这在这里是正确的。关于第一行的假设:对数是哪个底并不重要,因为每m,k的logm(n)=O(logk(n))。logm(n)=logk(n)/logk(m)=logk(n)/CONST=O(log(n))