Sobes.tech
Junior — Middle

Jak odhadnout časové náklady při přidání prvku do centrální části pole?

sobes.tech AI

Odpověď od AI

Добавление элемента в центральную часть массива требует сдвига всех элементов, расположенных после позиции вставки, чтобы освободить место для нового элемента. Временная сложность этой операции — O(n), где n — количество элементов, которые нужно сдвинуть. Например, если вставлять элемент в середину массива из 1000 элементов, примерно 500 элементов придется переместить, что влияет на производительность.

var array = [1, 2, 3, 4, 5]
array.insert(99, at: 2) // вставка в позицию с индексом 2
print(array) // [1, 2, 99, 3, 4, 5]

В этом примере элементы с индексами 2 и далее сдвигаются вправо, чтобы освободить место для нового элемента.