Sobes.tech
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í