Senior
Koliko vremena traje dodavanje na početak i kraj liste u Pythonu?
sobes.tech АИ
Одговор од АИ
У Python-у, сложеност операција додавања у листу зависи од позиције:
- Додавање на крај листе (
list.append()) ради у амортизованом времену O(1), јер су листе реализоване као динамички низови. - Додавање на почетак листе (
list.insert(0, value)) ради у O(n), јер се сви елементи померају удесно да би се направио простор.
Ако је потребно ефикасно додавање елемената на почетак и крај, боље је користити collections.deque, где обе операције раде у O(1):
from collections import deque
d = deque()
d.append(1) # додавање на крај — O(1)
d.appendleft(0) # додавање на почетак — O(1)