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.