Sobes.tech
Junior — Middle

Qual é a complexidade temporal da operação de adicionar um elemento a um array dinâmico?

sobes.tech IA

Resposta da IA

A adição de um elemento a um array dinâmico geralmente tem uma complexidade de tempo amortizada de O(1).

Explicação:

  • Se houver espaço livre no array, o elemento é adicionado em tempo constante.
  • Se não houver espaço, o array aloca um novo bloco de memória maior (normalmente o dobro), copia os elementos antigos e adiciona o novo.

Embora a operação de expansão leve O(n), ela não ocorre frequentemente, portanto a complexidade média (amortizada) de adicionar permanece O(1).

Exemplo em Go usando slices:

var arr []int
arr = append(arr, 10) // adiciona um elemento

append expandirá automaticamente o slice se necessário.