Compreender e Calcular o Custo Amortizado das Operações de Array Dinâmico

Arrays dinâmicos são estruturas de dados que automaticamente redimensionam quando atingem a capacidade. Compreender seu custo amortizado ajuda a avaliar sua eficiência em várias operações.

O que é Custo Amortizado?

O custo amortizado é o custo médio por operação em uma sequência de operações. Alivia os altos custos de redimensionamento ocasional, distribuindo-os em muitas operações baratas.

Operações de Array Dinâmico

Operações comuns em arrays dinâmicos incluem inserção, exclusão e redimensionamento. A inserção no final é tipicamente a operação mais frequente, que pode desencadear redimensionamento quando a capacidade é excedida.

Calculando o Custo Amortizado

Ao inserir elementos, o array duplica em tamanho quando cheio. O custo de redimensionamento envolve copiar todos os elementos existentes para o novo array. Embora redimensionar seja caro, ocorre pouco frequentemente.

Por exemplo, se um array começa com capacidade 1, a sequência de redimensionamento de custos sobre múltiplas inserções pode ser resumida como:

O custo total sobre n inserções é proporcional a 2n, tornando o custo amortizado por inserção aproximadamente O(1).