Упрощается ли это до 2O (n), O (2n) или O (n)? "
Все вышеперечисленное, но первые два слишком сложны. O (n) будетканоническая запись.
2 * N пропорциональна N, поэтому, если максимальная стоимость не более чем пропорциональна 2 * N для достаточно большого N (O (2 * N)), максимальная стоимость такжене более чем пропорционально N для достаточно большого N (O (N)).
Если бы мы пытались найти нижнюю границу, может ли это правило по-прежнему применяться?
Наиболее определеннода.
2 * N пропорционально N, поэтому, если минимальная стоимость не менее чем пропорциональна 2 * N для достаточно большого N (Ω (2 * N)), минимальная стоимость также не будетменее чем пропорционально N для достаточно большого N (Ω (N)).
Например, допустим, у вас есть алгоритм, выполнение которого занимает 300 мс + 100 * N мс. Нижняя границаего скорость равна Θ (N) и, следовательно, Ω (N).
Что если выполнение алгоритма займет вдвое больше времени? Даже если это заняло 600 мс + 200 * Н мЧтобы выполнить, нижняя граница его скорости по-прежнему равна Θ (N) и, следовательно, Ω (N).
Самая важная вещь, которую нужно понять, чтобы понять Θ (N) и т.п., состоит в том, чтонотации используются для изучения того, насколько хорошо масштабируется .Этот один алгоритм занимает в два раза больше времени, чем другой ничего не говорит о том, насколько хорошо масштабируется любой из них, поэтому неудивительно, что они могут иметь одинаковое Ω () для нижней границы их скорости.