2*n = O(2*n) 在形式上是否正确?

Is it formally correct to say that 2*n = O(2*n)?

是的,2*n = O(n) 是显而易见的事实,O(n)O(2*n) 更短,但是如果我们写 O(2*n) - 会不会不正确?

我没有看到定义中有任何冲突... 存在M|2*n| <= M * |2*n| 所有 x >= x0

或者 math/programming 社区不接受这样写?

根据定义,

O(n) = O(2n)

因为 n in O(2n)2n in O(n).

因此两者都是正确的。但是约定使用一个class的最短符号,如果问你复杂度class在测试中,他们可能指的是 最短 的名字。