Junior — Middle
Jaka jest złożoność czasowa operacji usunięcia pierwszego elementu z dynamicznej tablicy lub slajdu?
sobes.tech AI
Odpowiedź od AI
Usunięcie pierwszego elementu z dynamicznej tablicy lub slajdu w Go zazwyczaj ma złożoność czasową O(n), gdzie n to liczba elementów na slajdzie. Wynika to z faktu, że po usunięciu pierwszego elementu wszystkie kolejne elementy muszą zostać przesunięte o jedno miejsce w lewo, aby wypełnić powstałą lukę.
Przykład:
s := []int{1, 2, 3, 4, 5}
s = s[1:] // usunięcie pierwszego elementu
W tym przykładzie slajd jest przesuwany, ale jeśli chcesz faktycznie usunąć element i zwolnić pamięć, musisz ręcznie skopiować elementy, co również daje O(n).