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