Логотип YeaHub

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

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

Тренажёр

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

Обучение

Навыки

Задачи

Войти

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

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

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Swift : array, complexity, performance

Сложность вставки в массив

Вопрос проверяет понимание временной сложности операций с массивами.

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

  • Вставка в конец массива: O(1) (амортизированно).

  • Вставка в начало/середину: O(n), так как элементы сдвигаются.

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

Array в Swift — это динамический массив, который обычно хранит элементы в непрерывной области памяти.

Сложность операций:

  1. Вставка в конец (append):

    • В среднем O(1), но иногда O(n) при расширении буфера.

  2. Вставка в начало/середину (insert(at:)):

    • Всегда O(n), так как требует сдвига последующих элементов.

Пример:

var array = [1, 2, 3]
array.append(4)     // O(1)
array.insert(0, at: 0) // O(n)

Вывод:
Для частых вставок в начало лучше использовать LinkedList (но его нет в стандартной библиотеке Swift).

  • Аватар

    iOS Guru

    Roman Isakov

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    2

  • Сложность:

    6

Навыки

  • Swift

    Swift

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

#array

#complexity

#performance

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

  • Аватар

    iOS Guru

    Roman Isakov

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.