Sobes.tech
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