Junior — Middle
Koja je vremenska složenost operacije brisanja prvog elementa iz dinamičkog niza ili slajda?
sobes.tech АИ
Одговор од АИ
Brisanje prvog elementa iz dinamičkog niza ili slajda u Go obično ima vremensku složenost O(n), gde je n broj elemenata u slajdu. To je zato što nakon brisanja prvog elementa svi sledeći elementi moraju biti pomereni za jednu poziciju ulevo da popune nastali prostor.
Primer:
s := []int{1, 2, 3, 4, 5}
s = s[1:] // brisanje prvog elementa
U ovom primeru, slajd se pomera, ali ako želite zaista da uklonite element i oslobodite memoriju, moraćete ručno da kopirate elemente, što takođe daje O(n).