Sobes.tech
Junior — Middle

Explique o princípio de endereçamento aberto na implementação de contêineres associativos do tipo map.

sobes.tech IA

Resposta da IA

O endereçamento aberto é um método de resolução de colisões em tabelas de hash, como o map. Ao adicionar um par chave-valor, se o hash calculado indicar uma célula ocupada, a busca por uma célula livre ocorre dentro do array seguindo uma determinada sequência (por exemplo, sondagem linear ou quadrática).

Em vez de usar listas ligadas para colisões (cadeias), o endereçamento aberto armazena todos os elementos dentro de um único array, verificando sequencialmente as posições vizinhas até encontrar uma vazia.

Exemplo de sondagem linear:

// hash - função de hash
// table - array para armazenar elementos
// i - número de tentativa
index := (hash(chave) + i) % len(table)

Este método economiza memória em ponteiros, mas requer controle sobre a carga da tabela para evitar a degradação do desempenho.