Time complexity 渐近增长(大o表示法)
我尝试对以下函数进行排序: n、 n^3,nlogn,n/logn,n/log^2n,sqrt(n),sqrt(n^3) 以渐进增长的递增顺序 我所做的是 n/logn,n/log2n,sqrt(n),n,sqrt(n^3),nlogn,n^3 1) 我的回答正确吗 2) 我知道基本函数n,nlogn,n^2的时间复杂度,但对于n/nlogn,sqrt(n^3)等函数,我真的很困惑。 我该如何判断哪一个更快或更慢?有什么方法可以通过数学计算做到这一点吗 3) 大O时间复杂性和渐近增长是不同的吗Time complexity 渐近增长(大o表示法),time-complexity,big-o,asymptotic-complexity,Time Complexity,Big O,Asymptotic Complexity,我尝试对以下函数进行排序: n、 n^3,nlogn,n/logn,n/log^2n,sqrt(n),sqrt(n^3) 以渐进增长的递增顺序 我所做的是 n/logn,n/log2n,sqrt(n),n,sqrt(n^3),nlogn,n^3 1) 我的回答正确吗 2) 我知道基本函数n,nlogn,n^2的时间复杂度,但对于n/nlogn,sqrt(n^3)等函数,我真的很困惑。 我该如何判断哪一个更快或更慢?有什么方法可以通过数学计算做到这一点吗 3) 大O时间复杂性和渐近增长是不同的吗
如果有人能打破我的困惑,我将不胜感激。。。谢谢 我们需要的一个重要结果是: 对于任何严格的正数
a>0
,log n
的增长速度都比n^a
慢
有关上述内容的证明,请参阅
如果我们将sqrt(n^3)
重写为n^1.5
,我们可以看到n log n
增长得更慢(除以n
,然后使用上面的结果)
类似地,n/log n
比n^b
中的b<1
增长更快;这也是直接来自上面的结果。注意,它比n
慢一倍logn
;同样适用于n/log^2 n
综合上述情况,我们发现增长顺序为:
sqrt(n)
n/log^2 n
n/log n
n
n日志n
sqrt(n^3)
n^3
编辑:回答其他问题:
- 如果将
的极限设为f(n)/g(n)
,那么可以说n->无穷
在该极限为无穷大时渐近大于f(n)
,在极限为零时渐近小于g(n)
。这直接来自于g(n)
- big-O是一种分类渐近增长的方法,通常在参数接近无穷大时使用