Junior — Middle
Koja je vremenska složenost operacije brisanja elementa iz niza?
sobes.tech АИ
Одговор од АИ
Vremenska složenost brisanja elementa iz niza zavisi od toga gde se nalazi element i kako je implementiran niz.
-
Ako je potrebno da obrišete element po indeksu, u dinamičkom nizu (na primer, List u Dart/Flutter), nakon brisanja, svi naredni elementi se pomeraju da popune prazno mesto. To dovodi do vremenske složenosti O(n), gde je n broj elemenata nakon obrisanog.
-
Ako obrišete poslednji element, operacija se izvršava u O(1), jer nije potrebna pomeranja.
Primer u Dart:
List<int> numbers = [1, 2, 3, 4, 5];
numbers.removeAt(2); // briše element na indeksu 2 (broj 3)
// nakon brisanja, elementi na indeksima 3 i 4 se pomeraju ulevo
Uopšteno, brisanje elementa iz niza je operacija sa vremenskom složenošću O(n).