Junior — Middle
Cum se determină complexitatea temporală a operației de inserare a unui element la sfârșitul unui array?
sobes.tech AI
Răspuns de la AI
Inserarea unui element la sfârșitul unui array în iOS depinde de tipul array-ului:
-
Pentru array-uri cu dimensiune fixă (de exemplu, array-uri în C), inserarea la sfârșit nu este posibilă fără crearea unui nou array.
-
Pentru NSMutableArray sau array-urile Swift, care își schimbă dimensiunea în mod dinamic, inserarea la sfârșit se face de obicei în timp amortizat O(1). Aceasta înseamnă că, în general, adăugarea este rapidă, dar uneori, când array-ul atinge capacitatea sa curentă, are loc o realocare a memoriei și copierea elementelor, ceea ce durează mai mult.
Exemplu în Swift:
var array = [1, 2, 3]
array.append(4) // De obicei O(1), uneori O(n) în timpul realocării