Sobes.tech
Junior — Middle

Care este complexitatea temporală a operației de inserare a unui element la începutul unui ArrayList dinamic?

sobes.tech AI

Răspuns de la AI

Inserarea unui element la începutul unui array dinamic (de exemplu, ArrayList în Java) are o complexitate temporară de O(n), unde n este numărul de elemente din array.

Acest lucru se datorează faptului că, la inserarea la început, toate elementele existente trebuie mutate cu o poziție spre dreapta pentru a face loc pentru noul element. Procesul de copiere a elementelor în sine durează timp liniar.

Exemplu:

ArrayList<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);

// Inserare la început
list.add(0, 0); // mută toate elementele spre dreapta

Prin urmare, inserarea la sfârșit este de obicei mai rapidă (amortizat O(1)), în timp ce la început este O(n).