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.