Big o 大O增长层次?

Big o 大O增长层次?,big-o,Big O,我试图找出O(sqrt(n))和O(n2 log n)在下面列出的增长层次结构中的位置。这一章太让人困惑了,我不知道该怎么理解。如有任何建议,将不胜感激 O(1) O(日志n) O(对数n) O(log2 n) O(n) O(n日志n) O(n2) O(n3) O(2n) O(n!) O(1) O(对数(对数(n))) O(对数n) O(日志)₂ n) O(sqrt(n))(由于sqrt(n)=n1/2) O(n) O(n日志n) O(n²) O(n²logn)(n²+任何大于n²的值。log

我试图找出
O(sqrt(n))
O(n2 log n)
在下面列出的增长层次结构中的位置。这一章太让人困惑了,我不知道该怎么理解。如有任何建议,将不胜感激

O(1)
O(日志n)
O(对数n)
O(log2 n)
O(n)
O(n日志n)
O(n2)
O(n3)
O(2n)
O(n!)

  • O(1)
  • O(对数(对数(n)))
  • O(对数n)
  • O(日志)₂ n)
  • O(sqrt(n))(由于sqrt(n)=n1/2)
  • O(n)
  • O(n日志n)
  • O(n²)
  • O(n²logn)(n²+任何大于n²的值。logn小于n1+1)
  • O(n³)
  • O(2ⁿ)
  • O(n!)
  • O(log2 n)⊂ O(√n)⊂ O(n)

    O(√n) 是O(n½)。这比O(n)快,但比任何对数函数都慢。对数实际增长缓慢,比n的任何正幂都慢,甚至比n0.01都慢。对数的平方或偶数都没有关系

    O(n2)⊂ O(n2对数n)⊂ O(n3)

    我们之所以知道这一点,是因为您可以计算出常见的n2,并看到O(1)⊂O(logn)⊂ O(n)。

    哦,O(sqrt(n))肯定比O(n)小,对吗? 现在让我们考虑O(log2n)是大于还是小于O(sqrt(n))。 如果您感到困惑,只需在n中放入一个非常大的整数,然后计算它们的值。 例如,当n为1024时,log2n=10,sqrt(n)=32。因此,O(log2n)
    O(log2n)
    现在,O(n^2 logn)明显小于O(n^3),因为O(logn) 所以,

    O(n^2) < O(n^2 log n) < O(n^3)
    
    O(n^2)
    首先,第二个是O(n2*log10n),很容易计算出来。如果你注意到,n2的重量比log10n的重量大,因为它呈指数增长,而log会收敛于x轴上最大数字的位数。因此,这个方程会产生大于n2但小于n3的值

    最后,第一个,O(sqrt(n)),log(n)0

    补充资料 下图从左到右、从上到下绘制了所有12个方程式

    使用下面的代码,我能够绘制所有12个函数

    从matplotlib.pyplot导入图形、绘图、保存图、子绘图、紧密布局、标题、文本
    从numpy导入linspace、log10、log2、sqrt
    从scipy.misc导入阶乘
    def绘图仪(loc、lbl、n、eq):
    子地块(4,3,loc)
    绘图(n,eq)
    文本(60.025,r'$\mu=100,\\sigma=15$)
    标题(lbl)
    n=linspace(2100500)
    图(
    绘图仪(1,'log10(log10(n))',n,log10(log10(n)))
    绘图仪(2,'1',n,n**0)
    绘图仪(3,‘log10(n)’,n,log10(n))
    绘图仪(4,‘log2(n)’,n,log2(n))
    图(5,'sqrt(n)',n,sqrt(n))#这里
    绘图仪(6'n',n,n)
    绘图仪(7,‘n*log10(n)’,n,n*log10(n))
    绘图仪(8,'n**2',n,n**2)
    图(9),(n**2)*log10(n)’,n,(n**2)*log10(n))#这里
    绘图仪(10,'n**3',n,n**3)
    绘图仪(11,'2**n',n,2**n)
    plotEq(12,'n!',n,阶乘(n))
    紧凑的布局()
    savefig(“plot_subplot.png”)
    
    使用一个绘制函数的软件并查看相关符号。wolfram | alpha-y=1,y=log(x),y=x^2…您遵循了吗?您将它们绘制成图形了吗?有很多例子。O(log2n)表示以2为底的对数,O(logn)表示以10为底的普通对数,对吗?所有对数实际上都是同一个复杂度等级,不管基数是多少,因为它们都由常数因子关联。这与指数不同,指数中每个基数都是自己的复杂度等级。这个问题似乎离题了,因为它是关于数学/计算机科学的,更适合于
    O(log2 n) < O(sqrt(n)) < O(n)
    
    O(n^2) < O(n^2 log n) < O(n^3)