Нет, n - это не количество секунд, это количество элементов для обработки.
O (n) означает, что время обработки элементов линейно по отношению к количеству элементов.
O (n²) означает, что время для обработки предметов относительно квадрата количества предметов. Если вы удвоите количество предметов, время обработки увеличится в четыре раза.
См .: Big O нотация
В таблице предполагается, что для каждого элемента существует фиксированный объем работы, хотя в большой записи O указывается только то, как алгоритм реагирует на изменение количества элементов, он ничего не говорит вам о том, сколько работы требуется за один элемент. пункт.
Edit:
Значения вдоль оси x таблицы являются лишь приблизительными значениями, основанными на предположении, что работа на элемент одинакова. Например, значение 3000 для O (n²) округлено от квадратного корня из 10 миллионов, что составляет ~ 3162.28. Кубический корень из 10 миллионов - это не 200, а ~ 215,44.
В реальной ситуации два алгоритма редко выполняют одинаковый объем работы на элемент. Алгоритм с O (log n) обычно выполняет больше работы на элемент, чем алгоритм O (n) для той же цели, но он все же предпочтительнее в большинстве ситуаций, потому что он масштабируется намного лучше.