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

时间:2013-10-15 00:36:49

标签: complexity-theory big-o

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

2 个答案:

答案 0 :(得分:15)

如果N = cc不是常数。因此,情况永远不会如此。

答案 1 :(得分:9)

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

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

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

希望有所帮助。