Junior — Middle
Kako se određuje vremenska složenost operacije umetanja elementa na kraj niza?
sobes.tech АИ
Одговор од АИ
Уметање елемента на крају низа у iOS-у зависи од типа низа:
-
За фиксне величине низа (на пример, C низа), уметање на крај није могуће без креирања новог низа.
-
За NSMutableArray или Swift низове који динамички мењају величину, уметање на крај обично се изводи у амортизованом O(1) времену. То значи да је у већини случајева додавање брзо, али понекад, када низа достигне своју тренутну капацитет, долази до ре-расподеле меморије и копирања елемената, што траје дуже.
Пример у Swift-у:
var array = [1, 2, 3]
array.append(4) // Обично O(1), понекад O(n) током ре-расподеле