大O表示法建议

问题描述

其中哪些功能不是 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(黑色)增长更快的 enter image description here

本文也可能对您有帮助 https://en.wikipedia.org/wiki/Big_O_notation并转到常用功能的顺序

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...