为什么O(n)等于O(2n)

rsa*_*nko 5 complexity-theory big-o

我知道O(N)基本上等于O(cN),其中c ='某些常数'.但如果N = c.这不是O(N)^ 2.这是因为c增加,还是有一些正式的限制.

orl*_*rlp 15

如果N = c那时c不恒定.因此,情况永远不会如此.


Vid*_*dya 9

O(n)表示算法的运行时间随输入的大小线性增加.如果将输入的大小加倍,则运行时加倍.如果输入的大小增加三倍,则运行时将增加三倍.等等.所以图表是一条直线.

O(n ^ 2)表示算法的运行时间随输入的大小呈二次方增加.如果将输入的大小加倍,则运行时将翻两番.这是不好的.图形类型循环并且非常快速地变得非常高.

使用O(2n),您增加了线的斜率,但它仍然是一条线.由于它是线性的,它"减少"到O(n).

希望有所帮助.