Junior — Middle
Jak je určena časová složitost operace vložení prvku na konec pole?
sobes.tech AI
Odpověď od AI
Vkládání prvku na konec pole v iOS závisí na typu pole:
-
Pro pevně velikostní pole (například C pole) není možné vložit na konec bez vytvoření nového pole.
-
Pro NSMutableArray nebo Swift pole, které dynamicky mění velikost, je vložení na konec obvykle prováděno v amortizovaném O(1) čase. To znamená, že přidání je obvykle rychlé, ale někdy, když pole dosáhne své aktuální kapacity, dojde k přerozdělení paměti a kopírování prvků, což trvá déle.
Příklad v Swift:
var array = [1, 2, 3]
array.append(4) // Obvykle O(1), někdy O(n) při přerozdělení