Junior — Middle
Aká je časová zložitosť operácie pridania prvku do dynamického poľa?
sobes.tech AI
Odpoveď od AI
Pridanie prvku do dynamického poľa má zvyčajne amortizovanú časovú zložitosť O(1).
Vysvetlenie:
- Ak je v poli voľné miesto, prvok sa pridá za konštantný čas.
- Ak miesto nie je, pole alokuje nový väčší blok pamäte (zvyčajne dvojnásobný), skopíruje staré prvky a pridá nový.
Hoci operácia rozšírenia trvá O(n), nestáva sa často, takže priemerná (amortizovaná) zložitosť pridania zostáva O(1).
Príklad v Go s rezmi:
var arr []int
arr = append(arr, 10) // pridanie prvku
append automaticky rozšíri rez, ak je to potrebné.