As Tabelas Hash podem usar diferentes estratégias para lidar com colisões (quando duas chaves diferentes geram o mesmo índice). Suponha que estamos inserindo nomes em uma Tabela Hash de 10 posições. A função hash gera o índice 3 para “Carlos” e, em seguida, gera o mesmo índice 3 para “Amanda”. Se a Tabela Hash utilizar a estratégia de Encadeamento (Chaining), o que acontecerá ao inserir “Amanda”?
As Tabelas Hash podem usar diferentes estratégias para lidar com colisões (quando duas chaves diferentes geram o mesmo índice). Suponha que estamos inserindo nomes em uma Tabela Hash de 10 posições. A função hash gera o índice 3 para “Carlos” e, em seguida, gera o mesmo índice 3 para “Amanda”. Se a Tabela Hash utilizar a estratégia de Encadeamento (Chaining), o que acontecerá ao inserir “Amanda”?
- A inserção de “Amanda” falhará, pois a posição 3 já está ocupada por “Carlos”.
- “Amanda” será armazenada na próxima posição livre do vetor (índice 4), seguindo a lógica da sondagem linear.
- “Amanda” será adicionada a uma lista encadeada que começa no índice 3, com “Carlos” já presente nela.
- O valor “Carlos” será sobrescrito pelo valor “Amanda” no índice 3.
- A tabela inteira será redimensionada para um tamanho maior para evitar a colisão.