Назад к вопросам
VK
Junior — Middle
77
Как определяется временная сложность операции вставки элемента в конец массива?
Компании, где спрашивали
bip.ru
БКС
Ответ от нейросети
sobes.tech AI
Вставка элемента в конец массива в iOS зависит от типа массива:
-
Для массивов фиксированного размера (например, C-массивы) вставка в конец невозможна без создания нового массива.
-
Для NSMutableArray или Swift-массивов, которые динамически изменяют размер, вставка в конец обычно выполняется за амортизированное O(1) время. Это значит, что обычно добавление происходит быстро, но иногда, когда массив достигает своей текущей ёмкости, происходит перераспределение памяти и копирование элементов, что занимает больше времени.
Пример на Swift:
var array = [1, 2, 3]
array.append(4) // Обычно O(1), иногда O(n) при перераспределении