Sobes.tech
Middle

Koja je vremenska složenost dodavanja i uklanjanja elementa u rečnik u Pythonu?

sobes.tech АИ

Одговор од АИ

U Python-u, rečnik je implementiran na osnovu hash tabele, što obezbeđuje u proseku vremensku složenost O(1) za operacije dodavanja i uklanjanja elemenata.

  • Dodavanje elementa: računa se hash ključa, i element se ubacuje u odgovarajuću ćeliju. U proseku, to traje konstantno vreme.
  • Uklanjanje elementa: takođe se vrši putem hasha ključa i u proseku traje O(1).

Međutim, u najgorem slučaju (npr. kod velikog broja kolizija), operacije mogu degradirati do O(n), gde je n broj elemenata u rečniku, ali takvi slučajevi su izuzetno retki zahvaljujući dobroj implementaciji i dinamičkom proširenju rečnika.

Primer:

my_dict = {}
my_dict['key'] = 'value'  # dodavanje — O(1)
del my_dict['key']          # uklanjanje — O(1)