Sobes.tech
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 автоматически расширит срез при необходимости.