Концепция обозначения Big-O заключается в асимптотической эффективности алгоритма. Когда N становится больше, термин в обозначении Big-O начинает доминировать над общим временем. Например, в алгоритме O (N ^ 2) общее время T (N) может быть:
T(N) = a * N * N + b * N + c
По мере того, как N становится все больше и больше, член в N ^ 2 доминирует независимо от значения b или c.
Когда N мало, термины b и c имеют значение.
Например, если a = 0,001, b = 1 000 и c = 1 000 000.
N ~ T(N) [1 significant figure]
1 1,000,000 (almost all c)
1,000 2,000,000 (50:50 split on b and c)
1,000,000 2,000,000,000 (50:50 split on a and b)
1,000,000,000 1,000,000,000,000,000 (almost all a)
Итак, если вы проигнорируете младшие члены, производительность при низком N будет полностью искажена. При высоком N младшие члены не имеют значения.