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.