nlogn vs square root of n ,开平方不是更慢吗?

nlogn vs square root of n , Isn't square root slower?

我在在线课程中做这个测验,并提出了一个问题;

函数nlogn + √n + 5可设属于
答:nlogn
乙:√n
C: n√n

小测验说正确答案是A,但是n的平方根不是更慢吗?我不熟悉查找算法的时间复杂度,可以使用解释。或者如果答案有误请告诉我。

您应该认为 n 是一个非常大的数字。对于任何 n>2n>√nlogn>1。因此,nlogn>√n.

正确的层次结构是这样的:

超线性[ n log n]>线性[n] > 子多项式[n^(1/a)]

哪里a: a >= 1.

因此n log n = O(n) = O(sqrt(n))

N 不需要是一个“非常大的数字”,尽管 Big-Oh 处理无穷大的限制。特别是,您可以将 n0 设置为 `b+,其中 b 是对数。在本例中为 10.

亲自测试 n=11 以找出答案。

是的,√n肯定大于logn。 ()

但是您将 logn 与 n 相乘。

n明显大于√n。

(如果你也将√n乘以n,那么答案就是n√n。)