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.