Junior — Middle
Koji je vremenski rezultat operacija umetanja, pretraživanja, čitanja i brisanja elemenata u nizu u najgorem i prosečnom slučaju?
sobes.tech АИ
Одговор од АИ
Za standardni niz u iOS (npr. NSArray ili NSMutableArray) vremenske karakteristike operacija su otprilike sledeće:
-
Umetanje:
- Na kraj niza (append): prosečno i najgore — O(1) amortizovano (ako nije potrebna redistribucija memorije).
- Na početak ili u sredinu: O(n), jer je potrebno pomeriti elemente.
-
Pretraga (ako po indeksu): O(1), jer je niz indeksiran.
-
Čitanje po indeksu: O(1).
-
Brisanje:
- Sa kraja niza: O(1).
- Sa početka ili u sredini: O(n), zbog pomeranja elemenata.
Dakle, operacije umetanja i brisanja u sredini ili na početku niza imaju linearnu složenost, dok je pristup i umetanje/brisanje na kraju konstantno (amortizovano).