Sobes.tech
Junior — Middle

Qual é o custo temporal da operação de adicionar um elemento ao final da lista?

sobes.tech IA

Resposta da IA

Em C#, a operação de adicionar um elemento ao final da lista List<T> geralmente tem uma complexidade de tempo amortizada de O(1). Isso significa que, em média, a adição ocorre em tempo constante.

No entanto, se o array interno que suporta o List<T> estiver cheio, ele é expandido (copiando os elementos para um novo array de maior tamanho), o que leva O(n) tempo, onde n é o tamanho atual da lista.

Assim, na maioria dos casos, adicionar um elemento ao final da lista é rápido, mas ocasionalmente pode ser mais dispendioso devido à redistribuição de memória.