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