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>2
、n>√n
和 logn>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。)
我在在线课程中做这个测验,并提出了一个问题;
函数nlogn + √n + 5可设属于
答:nlogn
乙:√n
C: n√n
小测验说正确答案是A,但是n的平方根不是更慢吗?我不熟悉查找算法的时间复杂度,可以使用解释。或者如果答案有误请告诉我。
您应该认为 n
是一个非常大的数字。对于任何 n>2
、n>√n
和 logn>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。)