Sobes.tech
Middle

Quelle est la complexité temporelle de l'ajout d'un élément à la fin, au début et au milieu d'une liste Python?

sobes.tech IA

Réponse de l'IA

En Python, les listes sont implémentées comme des tableaux dynamiques, donc la complexité temporelle des opérations dépend de la position d'insertion :

  • Ajout à la fin (list.append(element)) — O(1) amorti, car il y a généralement de l'espace, mais parfois une redistribution de mémoire est nécessaire.
  • Ajout au début (list.insert(0, element)) — O(n), car tous les éléments sont décalés vers la droite.
  • Ajout au milieu (list.insert(index, element)) — également O(n), car les éléments après l'indice sont décalés.

Ainsi, pour un ajout efficace au début ou au milieu, il est préférable d'utiliser d'autres structures de données, comme collections.deque.