问题描述
其中哪些功能不是 O ( n 2 )?
A。 O ( n 2 log 2 n )
B。 O (log 2 (log 2 n )
C。 O ( n log 2 n )
D。 (log 2 n ) 2
我相信它不是A,因为 n 2 在那一个中占优势,这会使它成为 O ( n 2 )。
我的问题变成了如何确定哪个不是 O ( n 2 )?我对数没有做太多工作,对如何使用对数我仍然很模糊。
谢谢。
解决方法
答案是A
Big-O是一个上限,在编程中表示最坏的运行时。例如f(n)= n ^ 2意味着f(n)是O(n ^ 2)和O(n ^ 3)和O(n ^ 100 * logn)。所以O(n ^ 2)也是O(n ^ 3),但是O(n ^ 3)不是O(n ^ 2)
对于您的问题,唯一的答案> n ^ 2是A。绘制函数图可以帮助您直观地看到它。如您所见,A(红色)是唯一比n ^ 2(黑色)增长更快的
本文也可能对您有帮助 https://en.wikipedia.org/wiki/Big_O_notation并转到常用功能的顺序