Junior — Middle
Como determinar o custo em tempo da operação de inserção de um novo elemento numa matriz?
sobes.tech IA
Resposta da IA
A inserção de um novo elemento em um array depende do tipo de array e do método de inserção:
- Para arrays estáticos (tamanho fixo): inserir no final é O(1), se houver espaço livre. Inserir no meio ou no início é O(n), pois é necessário deslocar os elementos.
- Para arrays dinâmicos (por exemplo,
ArrayListem Java ouNSMutableArrayem iOS):- Inserção no final geralmente é amortizada O(1), mas ao encher o array, ocorre uma realocação de memória e cópia — O(n).
- Inserção no meio ou no início é O(n), devido ao deslocamento dos elementos.
Portanto, o custo em tempo depende da posição de inserção e da implementação do array. Normalmente, inserir no final de um array dinâmico é amortizado rápido, enquanto as outras inserções requerem deslocar elementos e têm complexidade linear.