Sobes.tech
Middle

¿Cuál es la complejidad temporal de agregar un elemento a una lista de Python al final, al principio y en el medio?

sobes.tech AI

Respuesta de la IA

En Python, las listas se implementan como arreglos dinámicos, por lo que la complejidad temporal de las operaciones depende de la posición de inserción:

  • Añadir al final (list.append(element)) — O(1) amortizado, ya que generalmente hay espacio, pero a veces se realiza una redistribución de memoria.
  • Añadir al principio (list.insert(0, element)) — O(n), porque todos los elementos se desplazan hacia la derecha.
  • Añadir en medio (list.insert(index, element)) — también O(n), ya que los elementos después del índice se desplazan.

Por lo tanto, para añadir de manera eficiente al principio o en medio, es mejor usar otras estructuras de datos, como collections.deque.