Junior — Middle
Care este complexitatea temporală a operației de ștergere a unui element dintr-un array?
sobes.tech AI
Răspuns de la AI
Complexitatea temporară pentru eliminarea unui element dintr-un array depinde de locația elementului și de modul în care este implementat array-ul.
-
Dacă trebuie să eliminați un element după index, într-un array dinamic (de exemplu, List în Dart/Flutter), după eliminare, toate elementele următoare sunt deplasate pentru a umple spațiul gol. Acest lucru duce la o complexitate temporară de O(n), unde n este numărul de elemente după cel eliminat.
-
Dacă eliminați ultimul element, operația se realizează în O(1), deoarece nu este necesară deplasarea.
Exemplu în Dart:
List<int> numbers = [1, 2, 3, 4, 5];
numbers.removeAt(2); // elimină elementul de la indexul 2 (numărul 3)
// după eliminare, elementele de la indexele 3 și 4 sunt deplasate spre stânga
Prin urmare, în general, eliminarea unui element dintr-un array este o operație cu complexitate temporară de O(n).