我对Big-O符号比较陌生,我遇到了一个问题:
按从最慢到最快的增长顺序对以下函数进行排序-big-o表示法。对于列表中的每一对相邻函数,请写出一个句子,说明为什么按原样排序。7n^3-10n,4n^2,n;n^8621909;3n;2^日志n;n日志n;6n日志n;n!;1:1^n
所以我拿到了这个订单-
1-> n^8621909
2->7n^3 - 10n
3->4n^2
4->3n
5->6n log n
6->n!
7->n
8->n log n
9-> 1.1^n
10->2^loglogn
我不确定这是否是正确的顺序,也不确定这是否是正确的顺序,我不确定如何描述它,因为我是以这种特殊的方式,使用n的某些值,然后安排它们。
最佳答案
1. n! = O(n!)
2. 1.1^n = O(1.1^n)
3. n^8621909 = O(n^8621909)
4. 7n^3 - 10n = O(n^3)
5. 4n^2 = O(n^2)
6. 6n log n = O(nlogn)
6. n log n = O(nlogn)
8. 3n = O(n)
8. n = O(n)
10. 2^loglog n = O(logn)
一些解释:
O(c^n) < O(n!) < O(n^n)
(对于某些常数)c
通过设置
O(n^c) < O(c^n)
并取两侧的2^loglogn
可以将logn
减少到2^loglogn = x
。