Sobes.tech
Middle
41

Koja je vremenska složenost dodavanja elementa na kraj, početak i sredinu Python liste?

Компаније где су питане
СБЕРСБЕР

Одговор од АИ

sobes.tech АИ

В Python списки реализованы как динамические массивы, поэтому временная сложность операций зависит от позиции вставки:

  • Добавление в конец (list.append(element)) — амортизированное O(1), так как обычно место есть, но иногда происходит перераспределение памяти.
  • Добавление в начало (list.insert(0, element)) — O(n), потому что все элементы сдвигаются вправо.
  • Добавление в середину (list.insert(index, element)) — тоже O(n), так как элементы после индекса сдвигаются.

Таким образом, для эффективного добавления в начало или середину лучше использовать другие структуры данных, например collections.deque.