Middle
Quelle est la complexité temporelle de l'ajout et de la suppression d'un élément dans un dictionnaire en Python?
sobes.tech IA
Réponse de l'IA
En Python, le dictionnaire est implémenté sur la base d'une table de hachage, ce qui garantit en moyenne une complexité temporelle O(1) pour les opérations d'ajout et de suppression d'éléments.
- Ajout d'un élément : le hash de la clé est calculé, et l'élément est inséré dans la case correspondante. En moyenne, cela prend un temps constant.
- Suppression d'un élément : se fait également par le hash de la clé et prend en moyenne O(1).
Cependant, dans le pire des cas (par exemple, avec beaucoup de collisions), les opérations peuvent se dégrader à O(n), où n est le nombre d'éléments dans le dictionnaire, mais ces cas sont extrêmement rares grâce à une bonne implémentation et à l'expansion dynamique du dictionnaire.
Exemple :
my_dict = {}
my_dict['key'] = 'value' # ajout — O(1)
del my_dict['key'] # suppression — O(1)