Sobes.tech
Junior — Middle

Cum se evaluează complexitatea temporală a operației de eliminare a unui element dintr-un array?

sobes.tech AI

Răspuns de la AI

Complexitatea temporară a eliminării unui element dintr-un array depinde de tipul array-ului și de metoda de eliminare:

  • Într-un array standard (de exemplu, Array în Swift), eliminarea unui element după index necesită deplasarea tuturor elementelor următoare spre stânga pentru a umple "gaura". Aceasta duce la o complexitate de O(n), unde n este numărul de elemente după cel eliminat.

  • Dacă se elimină ultimul element, operația se realizează de obicei în O(1), deoarece nu este nevoie de deplasare.

  • În cazul array-urilor dinamice (de exemplu, ArrayList în Java sau NSMutableArray în Objective-C), situația este similară — eliminarea din mijloc necesită deplasarea elementelor.

Exemplu:

var array = [1, 2, 3, 4, 5]
array.remove(at: 2) // elimină elementul de la indexul 2 (numărul 3)
// După eliminare, elementele 4 și 5 se deplasează cu o poziție spre stânga

Prin urmare, în general, eliminarea unui element dintr-un array este o operație cu complexitate temporară de O(n).