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