Middle
Jaka jest złożoność czasowa dodawania i usuwania elementu w słowniku w Pythonie?
sobes.tech AI
Odpowiedź od AI
W Pythonie słownik jest zaimplementowany na podstawie tablicy haszującej, co zapewnia średnią złożoność czasową O(1) dla operacji dodawania i usuwania elementów.
- Dodanie elementu: oblicza się hash klucza, a element jest wstawiany do odpowiedniej komórki. Średnio zajmuje to czas stały.
- Usunięcie elementu: również odbywa się na podstawie hasha klucza i średnio trwa O(1).
Jednak w najgorszym przypadku (np. przy dużej liczbie kolizji) operacje mogą degradować się do O(n), gdzie n to liczba elementów w słowniku, ale takie przypadki są niezwykle rzadkie dzięki dobrej implementacji i dynamicznemu rozszerzaniu słownika.
Przykład:
my_dict = {}
my_dict['key'] = 'value' # dodanie — O(1)
del my_dict['key'] # usunięcie — O(1)