Junior — Middle
Jak określana jest złożoność czasowa operacji wstawiania elementu na koniec tablicy?
sobes.tech AI
Odpowiedź od AI
Wstawianie elementu na koniec tablicy w iOS zależy od typu tablicy:
-
Dla tablic o stałym rozmiarze (np. tablice w C), wstawienie na koniec jest niemożliwe bez utworzenia nowej tablicy.
-
Dla NSMutableArray lub tablic Swift, które dynamicznie zmieniają rozmiar, wstawianie na koniec zazwyczaj odbywa się w czasie amortyzowanym O(1). Oznacza to, że zazwyczaj dodanie jest szybkie, ale czasami, gdy tablica osiąga swoją obecną pojemność, dochodzi do ponownej alokacji pamięci i kopiowania elementów, co zajmuje więcej czasu.
Przykład w Swift:
var array = [1, 2, 3]
array.append(4) // Zazwyczaj O(1), czasami O(n) podczas ponownej alokacji