Big o 我对大O符号和规则感到困惑

Big o 我对大O符号和规则感到困惑,big-o,Big O,我刚刚学习了一些关于大O表示法的基本知识,我一直在想,如果a大O是复杂性的上界,为什么N^a=O(N^b)。它应该尽可能紧密配合,但过大的上限仍然是上限 因此,如果你有线性复杂度O(N),你也有二次复杂度O(N^2),即使后者是一个弱得多的语句 另外,如果有一个像(2^logN)/(logN)-1/logN这样的函数,那么大O估计值是多少 -1/logN永远不会大于1,因此实际上是常量,可以忽略 2^logN是线性的 将其除以logn得出O(N/logn)。次线性。hmm.。我明白了。但是你如何

我刚刚学习了一些关于大O表示法的基本知识,我一直在想,如果a大O是复杂性的上界,为什么N^a=O(N^b)。它应该尽可能紧密配合,但过大的上限仍然是上限

因此,如果你有线性复杂度O(N),你也有二次复杂度O(N^2),即使后者是一个弱得多的语句

另外,如果有一个像(2^logN)/(logN)-1/logN这样的函数,那么大O估计值是多少

-1/logN
永远不会大于1,因此实际上是常量,可以忽略

2^logN
是线性的


将其除以
logn
得出
O(N/logn)
。次线性。

hmm.。我明白了。但是你如何估计大O,如果它是,让我们举一个例子,(2^logN)/(logN),它是O(2^n)吗,因为2^n增长得更快?是的,你可以说是O(2^n),但这是一个相当糟糕的上限。除非我弄错了,否则它甚至不是线性复杂度。为什么2^logN被认为是线性的?对不起,大O对我来说还是很新的。
日志
刚刚撤销了
^
2^logn
只会给你
n
。哦,顺便说一句……如果有一个系列有很多术语,我们会选择最高阶的术语,然后说这是大O估计吗