В обозначении Big O это соответствует O(1)
, что в основном означает, что время выполнения операции является постоянным или, по крайней мере, меньше определенной константы.Ergo, время выполнения не зависит от вашего ввода.Как вы можете понять из того, что я написал, обозначение Big O дает только верхнюю границу операции.Есть также другие обозначения, которые дают нижнюю границу и т. Д.
Примером случая, когда он зависит от ввода, может быть:
int res = 0;
int[] arr = getSomeArray();
foreach (int i in arr)
res = res + i;
Здесь время выполнениязависит от того, насколько велик массив, и если мы дадим длину массива переменной n
, то это будет O(n)
.Опять же, нотация Big O не указывает точно, сколько времени потребуется для выполнения, но в этом случае просто говорит, что мы можем умножить n
на некоторую константу, и тогда она будет завершена в течение n*some
s.
Более подробное объяснение дано здесь: Что такое простое английское объяснение нотации "Big O"?