Sobes.tech
Middle

Jaká je časová složitost přidání prvku do seznamu Python na konec, začátek a střed?

sobes.tech AI

Odpověď od AI

V Pythonu jsou seznamy implementovány jako dynamické pole, takže časová složitost operací závisí na pozici vložení:

  • Přidání na konec (list.append(element)) — amortizovaně O(1), protože obvykle je místo, ale někdy dojde k přerozdělení paměti.
  • Přidání na začátek (list.insert(0, element)) — O(n), protože všechny prvky se posunou doprava.
  • Přidání uprostřed (list.insert(index, element)) — také O(n), protože prvky za indexem se posunou.

Proto je pro efektivní přidávání na začátek nebo do středu vhodnější používat jiné datové struktury, například collections.deque.