为什么将两个 O(N) 方法视为 O(N)?

Why are two O(N) methods regarded as O(N)?

我的程序中有一个方法,它调用另外两个具有线性时间复杂度的方法。我不确定这是否会导致该方法在 O(2N) 时具有时间复杂度。

我知道常量会降低时间复杂度,这会使方法的时间复杂度为 O(N),但我不是 100% 确定。有人可以详细说明这样的方法在时间复杂度上会有什么影响吗?

从这个角度考虑一下:如果您消除了方法调用并且只有在该方法中 运行 它所需的代码,它的 运行 时间会是多少?

正如您正确推断的那样,您 运行 两个线性时间操作的 运行 时间为 O(N)(因为常数无关紧要)。这意味着整个方法的 运行 时间复杂度为 O(N)。

你是正确的,这个方法的时间复杂度是 2n。但是,使用大 O 表示法,您不包括常量。因此,在大 O 表示法中,它将是 O(n)。 Theta 符号确实包含常量,因此它将是 theta(2n)