Sobes.tech
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) током ре-расподеле