Sobes.tech
Junior — Middle

Aká je časová zložitosť operácie odstránenia prvku z poľa?

sobes.tech AI

Odpoveď od AI

Časová zložitosť odstránenia prvku z poľa závisí od toho, kde sa prvok nachádza, a od toho, ako je pole implementované.

  • Ak je potrebné odstrániť prvok podľa indexu, v dynamickom poli (napríklad, List v Dart/Flutter), po odstránení sa všetky nasledujúce prvky posunú, aby sa zaplnil voľný priestor. To vedie k časovej zložitosti O(n), kde n je počet prvkov po odstránenom.

  • Ak odstránite posledný prvok, operácia sa vykoná v O(1), pretože nie je potrebné posúvanie.

Príklad v Dart:

List<int> numbers = [1, 2, 3, 4, 5];
numbers.removeAt(2); // odstráni prvok na indexe 2 (číslo 3)
// po odstránení sa prvky na indexoch 3 a 4 posunú doľava

Všeobecne platí, že odstránenie prvku z poľa je operácia s časovou zložitosťou O(n).