Sobes.tech
Junior — Middle

Koja je vremenska složenost operacije dodavanja elementa na početak niza?

sobes.tech АИ

Одговор од АИ

Dodavanje elementa na početak niza obično ima vremensku složenost O(n), gde je n broj elemenata u nizu.

To je zato što je za umetanje na početak potrebno pomeriti sve postojeće elemente ulevo ili udesno, u zavisnosti od implementacije, da bi se napravilo mesto za novi element. U dinamičkim nizovima (npr. Swift Array), ovaj proces zahteva kopiranje ili pomeranje elemenata, što traje vreme proporcionalno broju elemenata.

Primer:

var array = [2, 3, 4]
array.insert(1, at: 0) // umetanje 1 na početak
print(array) // [1, 2, 3, 4]

Ovde, prilikom umetanja 1, svi elementi se pomeraju za jednu poziciju udesno.