Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про JavaScript: array, push, time complexity, amortized O(1)

Какова алгоритмическая сложность операции push в массиве?

Вопрос проверяет понимание временной сложности добавления элемента в конец массива в JavaScript.

Короткий ответ

Операция push в массиве JavaScript имеет амортизированную временную сложность O(1). Это означает, что в среднем добавление элемента в конец массива выполняется за постоянное время, хотя в редких случаях может потребоваться перераспределение памяти, что занимает O(n).

Длинный ответ

Что такое операция push?

Метод push() добавляет один или несколько элементов в конец массива и возвращает новую длину массива. Это одна из самых часто используемых операций при работе с массивами.

Алгоритмическая сложность

В большинстве случаев push выполняется за O(1) — постоянное время. Однако массивы в JavaScript являются динамическими: при превышении текущей ёмкости происходит перераспределение памяти с копированием всех элементов в новый массив большего размера. Это занимает O(n) времени. Но такие случаи редки, и в среднем сложность остаётся амортизированной O(1).

Пример

const arr = [1, 2, 3];
arr.push(4); // O(1) в среднем
console.log(arr); // [1, 2, 3, 4]

Вывод

Операция push эффективна для добавления элементов в конец массива и широко применяется в циклах, стеках и очередях. Её амортизированная сложность O(1) делает её предпочтительной для большинства сценариев.

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию

Уровень

  • Рейтинг:

    3

  • Сложность:

    2

Навыки

  • JavaScript

    JavaScript

Ключевые слова

#array

#push

#time complexity

#amortized O(1)

Подпишись на React Developer в телеграм

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию