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