Sobes.tech
Middle

Каква е времевата сложност при добавяне на елемент към списък в Python в края, началото и средата?

sobes.tech AI

Отговор от AI

В Python списъците са реализирани като динамични масиви, затова времевата сложност на операциите зависи от позицията на вмъкване:

  • Добавяне към края (list.append(element)) — амортизирано O(1), тъй като обикновено има място, но понякога се извършва преразпределение на паметта.
  • Добавяне в началото (list.insert(0, element)) — O(n), защото всички елементи се преместват надясно.
  • Добавяне в средата (list.insert(index, element)) — също O(n), тъй като елементите след индекса се преместват.

Затова за ефективно добавяне в началото или в средата е по-добре да се използват други структури от данни, като collections.deque.