Back to questions
Junior — Middle
79
Какова временная сложность операции добавления элемента в динамический массив?
Answer from AI
sobes.tech AI
Добавление элемента в динамический массив обычно имеет амортизированную временную сложность O(1).
Объяснение:
- Если в массиве есть свободное место, элемент добавляется за константное время.
- Если места нет, массив выделяет новый блок памяти большего размера (обычно в 2 раза больше), копирует старые элементы и добавляет новый.
Хотя операция расширения занимает O(n), она происходит нечасто, поэтому средняя (амортизированная) сложность добавления остаётся O(1).
Пример на Go с использованием срезов:
var arr []int
arr = append(arr, 10) // добавление элемента
append автоматически расширит срез при необходимости.