Junior — Middle
Como é determinada a complexidade temporal da operação de inserir um elemento no final de um array?
sobes.tech IA
Resposta da IA
A inserção de um elemento no final de um array no iOS depende do tipo de array:
-
Para arrays de tamanho fixo (por exemplo, arrays em C), a inserção no final não é possível sem criar um novo array.
-
Para NSMutableArray ou arrays Swift, que mudam de tamanho dinamicamente, a inserção no final geralmente é feita em O(1) amortizado. Isso significa que, geralmente, a adição é rápida, mas às vezes, quando o array atinge sua capacidade atual, ocorre uma realocação de memória e uma cópia dos elementos, o que leva mais tempo.
Exemplo em Swift:
var array = [1, 2, 3]
array.append(4) // Geralmente O(1), às vezes O(n) durante a realocação