Sobes.tech
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