Sobes.tech
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.