Sobes.tech
Junior — Middle

Jaká je časová složitost operace přidání prvku do dynamického pole?

sobes.tech AI

Odpověď od AI

Přidání prvku do dynamického pole má obvykle amortizovanou časovou složitost O(1).

Vysvětlení:

  • Pokud je v poli volné místo, prvek je přidán v konstantním čase.
  • Pokud není místo, pole alokuje nový větší blok paměti (obvykle dvojnásobný), zkopíruje staré prvky a přidá nový.

Ačkoli operace rozšíření trvá O(n), nestává se často, takže průměrná (amortizovaná) složitost přidání zůstává O(1).

Příklad v Go s použitím slice:

var arr []int
arr = append(arr, 10) // přidání prvku

append automaticky rozšíří slice podle potřeby.