Sobes.tech
Junior — Middle

Qual é a complexidade temporal da operação de remover um elemento de um array?

sobes.tech IA

Resposta da IA

A complexidade temporal de remover um elemento de um array depende de onde o elemento está localizado e de como o array é implementado.

  • Se precisar remover um elemento por índice, em um array dinâmico (por exemplo, List em Dart/Flutter), após a remoção, todos os elementos seguintes são deslocados para preencher o espaço vazio. Isso leva a uma complexidade temporal de O(n), onde n é o número de elementos após o removido.

  • Se remover o último elemento, a operação é realizada em O(1), pois não é necessário deslocamento.

Exemplo em Dart:

List<int> numbers = [1, 2, 3, 4, 5];
numbers.removeAt(2); // remove o elemento no índice 2 (número 3)
// após a remoção, os elementos nos índices 3 e 4 são deslocados para a esquerda

Portanto, em geral, remover um elemento de um array é uma operação com complexidade temporal de O(n).