Что такое амортизированная сложность?
Короткий ответ
Амортизированная сложность оценивает стоимость серии операций в расчете на одну операцию. Отдельный вызов при этом может быть дорогим.
Разбор
Учебный динамический массив обычно быстро добавляет элемент в конец, но иногда расширяется и копирует все данные. При удвоении емкости n добавлений суммарно требуют O(n), то есть O(1) на добавление амортизированно.
Это свойство конкретной реализации, а не гарантия времени каждого push в JavaScript. Амортизированная оценка также отличается от среднего времени по случайным входам.