Sobes.tech
Junior — Middle

Care este complexitatea temporală a operației de adăugare a unui element într-un array dinamic?

sobes.tech AI

Răspuns de la AI

Adăugarea unui element într-un array dinamic are, în general, o complexitate temporară amortizată de O(1).

Explicație:

  • Dacă există spațiu liber în array, elementul se adaugă în timp constant.
  • Dacă nu există spațiu, array-ul alocă un nou bloc de memorie mai mare (de obicei de două ori mai mare), copiază elementele vechi și adaugă noul.

Deși operația de extindere durează O(n), ea nu are loc frecvent, așa că complexitatea medie (amortizată) a adăugării rămâne O(1).

Exemplu în Go cu slices:

var arr []int
arr = append(arr, 10) // adăugare element

append va extinde automat slice-ul dacă este necesar.