Junior — Middle
Aký je časový výsledok operácií vkladania, vyhľadávania, čítania a odstraňovania prvkov v poli v najhoršom a priemernom prípade?
sobes.tech AI
Odpoveď od AI
Za štandardný poľ v iOS (napríklad NSArray alebo NSMutableArray) sú časové charakteristiky operácií približne nasledovné:
-
Vkladanie:
- Na koniec poľa (append): priemerný a najhorší prípad — O(1) amortizované (ak nie je potrebné preusporiadanie pamäte).
- Na začiatok alebo do stredu: O(n), pretože je potrebné posunúť prvky.
-
Vyhľadávanie (ak podľa indexu): O(1), pretože pole je indexované.
-
Čítanie podľa indexu: O(1).
-
Odstraňovanie:
- Z konca poľa: O(1).
- Zo začiatku alebo zo stredu: O(n), kvôli posunu prvkov.
Teda operácie vkladania a odstraňovania uprostred alebo na začiatku poľa majú lineárnu zložitosť, zatiaľ čo prístup a vkladanie/odstraňovanie na konci sú konštantné (amortizované).