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.