Junior — Middle
¿Cuál es la complejidad temporal de la operación de agregar un elemento a un array dinámico?
sobes.tech AI
Respuesta de la IA
La adición de un elemento a un array dinámico generalmente tiene una complejidad temporal amortizada de O(1).
Explicación:
- Si hay espacio libre en el array, el elemento se añade en tiempo constante.
- Si no hay espacio, el array asigna un nuevo bloque de memoria de mayor tamaño (generalmente el doble), copia los elementos antiguos y añade el nuevo.
Aunque la operación de expansión toma O(n), no ocurre con frecuencia, por lo que la complejidad media (amortizada) de añadir sigue siendo O(1).
Ejemplo en Go usando slices:
var arr []int
arr = append(arr, 10) // añadir elemento
append expandirá automáticamente el slice si es necesario.