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.