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)