Middle
Aká je časová zložitosť pridania prvku do zoznamu Python na koniec, začiatok a stred?
sobes.tech AI
Odpoveď od AI
V Pythone sú zoznamy implementované ako dynamické polia, takže časová zložitosť operácií závisí od polohy vloženia:
- Pridanie na koniec (
list.append(element)) — amortizované O(1), pretože zvyčajne je miesto, ale niekedy dôjde k prealokácii pamäte. - Pridanie na začiatok (
list.insert(0, element)) — O(n), pretože všetky prvky sa posúvajú doprava. - Pridanie do stredu (
list.insert(index, element)) — tiež O(n), pretože prvky po indexe sa posúvajú.
Pre efektívne pridanie na začiatok alebo do stredu je lepšie použiť iné dátové štruktúry, ako napríklad collections.deque.