Время выполнения как абсолютная мера, как правило, менее важно, чем , как увеличивается это время, когда вы добавляете больше данных . Например, алгоритм, который всегда занимает 5 секунд для обработки 100 элементов, 10 секунд для обработки 200 элементов и т. Д., Называется O (N), поскольку время выполнения линейно увеличивается с размером набора данных. Если второму алгоритму потребовалось 5 * 5 = 25 секунд для обработки этих 200 элементов, его можно классифицировать как O (N ^ 2). Здесь нет «пикового времени работы», поскольку время работы всегда увеличивается, когда вы добавляете больше данных.
На самом деле, большой O - это верхняя граница - так что вы могли бы сказать, что первым алгоритмом был также O (N ^ 2) (если N - верхняя граница, N * N выше и, следовательно, также верхняя граница, хотя и более свободный). Общие обозначения для обозначения других границ включают Ω (омега, нижняя граница) и Θ (тета, одновременная нижняя и верхняя граница).
Некоторые алгоритмы (например, Quicksort) демонстрируют различное поведение в зависимости от данных, которые ему передаются - следовательно, наихудшим случаем является O (N ^ 2), даже если он обычно ведет себя так, как если бы он был O (N log N).